Newtonsoft.Json.JsonSerializationException: «Невозможно десериализовать текущий объект JSON - PullRequest
0 голосов
/ 31 мая 2018

Ошибка:

Newtonsoft.Json.JsonSerializationException: 'Невозможно десериализовать текущий объект JSON (например, {"name": "value"}) в тип' System.Collections.Generic.List`1 [MFBDCP.HotelList + geolocation] ', поскольку для корректной десериализации типу требуется массив JSON (например, [1,2,3]).

Мой код:

HotelResponse myDetails = JsonConvert.DeserializeObject<HotelResponse>(final);

Родительский класс:

public class HotelResponse
{
   public List<hotels> hotels { get; set; } = new List<hotels>();
   public DateTime checkin { get; set; }
}

Дочерний класс:

public class hotels
{
   public string hotel_code { get; set; }
   public List<geolocation> geolocation { get; set; }
}

Подчиненный дочерний класс:

public class geolocation
{
   public string longitude { get; set; }
   public string latitude { get; set; }
}

Пожалуйста, дайте мне знать, как определить вложенные списки

1 Ответ

0 голосов
/ 31 мая 2018

Возможно, у вас есть ошибка во входной строке, финал.Сообщение об ошибке указывает на то, что один из массивов (списков) сформирован неправильно.Поскольку у вас есть вложенные списки, это может быть либо внутренний, либо внешний массив, который сформирован неправильно.

Что я хотел бы сделать, это создать реальный объект HotelResponse программно, который содержит те же значения свойств, что и final.Затем используйте JsonConvert.SerializeObject (), чтобы увидеть, как должен выглядеть Json.Сравнив результаты JsonConvert.SerializeObject с final, вы сможете выяснить, что не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...