Вылетает NullReference при парсинге json данных
Я закрепил 2 скриншота.
На одном, показано, какой json приходит
На втором, во время отладки, заранее вылетает null, не могу понять почему
Мой класс:
public partial class SS
{
[JsonProperty("PackageSearchQuery")]
public PackageSearchQuery PackageSearchQuery { get; set; }
}
public partial class PackageSearchQuery
{
[JsonProperty("Departures")]
public Departure[] Departures { get; set; }
[JsonProperty("Destination")]
public Destination[] Destination { get; set; }
[JsonProperty("BeginDate")]
public DateTimeOffset BeginDate { get; set; }
[JsonProperty("EndDate")]
public DateTimeOffset EndDate { get; set; }
[JsonProperty("SelectedDate")]
public DateTimeOffset SelectedDate { get; set; }
public long DateRange { get; set; }
[JsonProperty("Acc")]
public long[] Acc { get; set; }
[JsonProperty("PriceRange")]
public dynamic[] PriceRange { get; set; }
[JsonProperty("Guest")]
public Guest Guest { get; set; }
[JsonProperty("CurrencyId")]
public long CurrencyId { get; set; }
[JsonProperty("Page")]
public long Page { get; set; }
}
public partial class Departure
{
[JsonProperty("Id")]
public long Id { get; set; }
[JsonProperty("Label")]
public string Label { get; set; }
}
public partial class Destination
{
[JsonProperty("Id")]
public string Id { get; set; }
[JsonProperty("DataId")]
public long DataId { get; set; }
[JsonProperty("TopDataId")]
public long TopDataId { get; set; }
[JsonProperty("ParentDataId")]
public long ParentDataId { get; set; }
[JsonProperty("FullTitle")]
public string FullTitle { get; set; }
[JsonProperty("Title")]
public string Title { get; set; }
[JsonProperty("TitleRu")]
public string TitleRu { get; set; }
[JsonProperty("ParentTitle")]
public string ParentTitle { get; set; }
[JsonProperty("ParentTitleRu")]
public string ParentTitleRu { get; set; }
[JsonProperty("Weight")]
public long Weight { get; set; }
[JsonProperty("Score")]
public double Score { get; set; }
[JsonProperty("ModelType")]
public string ModelType { get; set; }
[JsonProperty("HasAirport")]
public bool HasAirport { get; set; }
[JsonProperty("Priority")]
public long Priority { get; set; }
}
public partial class Guest
{
[JsonProperty("Adults")]
public long Adults { get; set; }
[JsonProperty("Children")]
public dynamic[] Children { get; set; }
}
public partial class RoomQuery
{
[JsonProperty("RoomId")]
public long RoomId { get; set; }
[JsonProperty("MealId")]
public long MealId { get; set; }
[JsonProperty("AccId")]
public long AccId { get; set; }
[JsonProperty("FlightNight")]
public long FlightNight { get; set; }
[JsonProperty("FlightDate")]
public DateTimeOffset FlightDate { get; set; }
[JsonProperty("LeftAllotmentStatus")]
public long LeftAllotmentStatus { get; set; }
[JsonProperty("LeftAllotmentBackStatus")]
public long LeftAllotmentBackStatus { get; set; }
[JsonProperty("IsReqular")]
public bool IsReqular { get; set; }
}
Еще раз кину в текстовом варианте json
{"PackageSearchQuery":{"Departures":[{"Id":2671,"Label":"Москва"}],"Destination":[{"Id":"Country3","DataId":3,"TopDataId":null,"ParentDataId":null,"FullTitle":"Россия (Russia)","Title":"Russia","TitleRu":"Россия","ParentTitle":null,"ParentTitleRu":null,"Weight":4,"Score":3490.5999999974056,"ModelType":"country","HasAirport":false,"Priority":1}],"BeginDate":"2020-07-19T00:00:00Z","EndDate":"2020-07-19T00:00:00Z","SelectedDate":"2020-07-20T00:00:00Z","DateRange":"0","Acc":[3],"PriceRange":[],"Guest":{"Adults":2,"Children":[]},"CurrencyId":0,"Page":1},"HotelDetailQuery":null,"RoomQuery":{"RoomId":0,"MealId":0,"AccId":0,"FlightNight":0,"FlightDate":"0001-01-01T00:00:00Z","LeftAllotmentStatus":0,"LeftAllotmentBackStatus":0,"IsReqular":false},"FlightQuery":null,"ReservationQuery":null}
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
У вас в определении Destination TopDataId null для типа long а он не nullable там ещё ParentDataId ... Будьте внимательны с long и long?

