Задать вопрос
@userocker

Как парсить json в строготипизированных языках?

Вопрос стоить костью в горле уже давно. Как мы обычно парсим json? Пишем модель данных, например C#:
{result:0}
[JsonObject(MemberSerialization.Fields)]
public class Response
{
    [JsonProperty(PropertyName="result")]
    int Result;
}

... и тд по вкусу. Но что если в одном случае result - это int, а в другом - это object. Вся логика уже ломается.
{result: {param1:0, param2:"hello"}
[JsonObject(MemberSerialization.Fields)]
public class Response
{
    [JsonProperty(PropertyName="result")]
    Result Result;
}
[JsonObject(MemberSerialization.Fields)]
public class Result
{
    [JsonProperty(PropertyName="param")]
    int Param;
//итд
}

И что теперь? Парсить 2 раза и ловить в try-catch? проверять как-то? а если там может быть и int, и string, и object - по 3 раза парсить? Когда остановиться?)))
  • Вопрос задан
  • 116 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Middle-разработчик игр на Unity
    3 месяца
    Далее
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@lyeskin
Есть мини-библиотеки для парса JSON.
Ответ написан
Комментировать
vawsan
@vawsan
Frontend Developer
Один из самых простых вариантов без всяких плагинов(но только если знаете нужную вам вложенность) - сериализуете данные в Dictionary, а затем typeof.
Но, опять же, нужно понимать, как вам отличить "0" строку от "0" цифры. Если сама структура этого не позволяет, то уже не вариант...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы