JSON Deserializer возвращает значения NULL

Какое поведение округления вы хотите? Вы 2.67, чтобы перейти в 3 или 2. Если вы хотите использовать округление, попробуйте следующее:

s = '234.67'
i = int(round(float(s)))

В противном случае просто выполните:

s = '234.67'
i = int(float(s))
1
задан phuzi 13 July 2018 в 09:15
поделиться

4 ответа

Обратите внимание, что ваш JSON имеет вложенную структуру. Адресная информация содержится в свойстве result, она не находится на верхнем уровне.

Ваша фактическая структура класса для десериализации всего ответа JSON должна выглядеть примерно так (я назвал класс JsonResponse, но вы можете назвать его, как хотите):

class JsonResponse{
    public int status { get; set; }
    public AddressInfo result { get; set; }
}

Затем десериализуйте его следующим образом:

JsonResponse res = JsonConvert.DeserializeObject<JsonResponse>(strJSON);
AddressInfo addressInfo = res.result;
5
ответ дан Kwinten 17 August 2018 в 13:17
поделиться
  • 1
    Черт, избил меня: P Но да, я бы предложил это тоже – Xariez 13 July 2018 в 09:14

Ваш JSON вложен. Результатом является вложенный объект. Вот почему вы столкнулись с этой проблемой.

2
ответ дан Pancake 17 August 2018 в 13:17
поделиться

Вам не хватает того, что вам нужен внешний класс, который обладает свойствами int status и AdressInfo result.

4
ответ дан Robert 17 August 2018 в 13:17
поделиться
2
ответ дан Pancake 6 September 2018 в 09:23
поделиться
Другие вопросы по тегам:

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