, хотя я уже несколько лет развиваю старую школу, мне нужна помощь в том, как отобразить этот json в виде списка.
JSON возвращается с URL
[
{
"LastUpdated":"09/10/2019 09:08:02",
"Latitude":-33.917713,
"Longitude":18.431315,
"PlannedEndDate":"",
"Reported":"09/10/2019 09:00:38",
"StartDate":"09/10/2019 09:00:38",
"ID":"WC-ATMS-196763",
"RegionName":"Western Cape",
"CountyName":null,
"Severity":"none",
"RoadwayName":"Table Bay Blvd",
"DirectionOfTravel":"Inbound",
"Description":null,
"Location":"0.0 km after N2 Elevated Freeway",
"LanesAffected":null,
"LanesStatus":null,
"LcsEntries":null,
"NavteqLinkId":"771421441",
"PrimaryLocation":null,
"SecondaryLocation":null,
"FirstArticleCity":null,
"SecondCity":null,
"EventType":"TrafficConditions",
"EventSubType":"Mainline Congestion",
"MapEncodedPolyline":null
},
{
"LastUpdated":"09/10/2019 09:30:02",
"Latitude":-26.0378,
"Longitude":28.016144,
"PlannedEndDate":"",
"Reported":"09/10/2019 08:08:25",
"StartDate":"09/10/2019 08:08:25",
"ID":"GP-ATMS-207804",
"RegionName":"Gauteng",
"CountyName":null,
"Severity":"minor",
"RoadwayName":"N1",
"DirectionOfTravel":"Southbound",
"Description":null,
"Location":"0.7 km before Ramp from William Nicol I/C",
"LanesAffected":null,
"LanesStatus":null,
"LcsEntries":null,
"NavteqLinkId":"837759156",
"PrimaryLocation":null,
"SecondaryLocation":null,
"FirstArticleCity":null,
"SecondCity":null,
"EventType":"TrafficConditions",
"EventSubType":"Ramp Congestion",
"MapEncodedPolyline":null
},
{
"LastUpdated":"09/10/2019 09:52:20",
"Latitude":-33.944828,
"Longitude":18.472132,
"PlannedEndDate":"",
"Reported":"09/10/2019 09:49:42",
"StartDate":"09/10/2019 09:49:42",
"ID":"WC-ATMS-196773",
"RegionName":"Western Cape",
"CountyName":null,
"Severity":"none",
"RoadwayName":"N2",
"DirectionOfTravel":"Inbound",
"Description":null,
"Location":"0.0 km after Ramp to Mowbray Main",
"LanesAffected":null,
"LanesStatus":null,
"LcsEntries":null,
"NavteqLinkId":"771096842",
"PrimaryLocation":null,
"SecondaryLocation":null,
"FirstArticleCity":null,
"SecondCity":null,
"EventType":"AccidentsAndIncidents",
"EventSubType":"Shoulder Lane",
"MapEncodedPolyline":null
}
]
Объект событий
public class Events
{
public string LastUpdated { get; set; }
public float Latitude { get; set; }
public float Longitude { get; set; }
public string PlannedEndDate { get; set; }
public string Reported { get; set; }
public string StartDate { get; set; }
public string ID { get; set; }
public string RegionName { get; set; }
public object CountyName { get; set; }
public string Severity { get; set; }
public string RoadwayName { get; set; }
public string DirectionOfTravel { get; set; }
public object Description { get; set; }
public string Location { get; set; }
public string LanesAffected { get; set; }
public object LanesStatus { get; set; }
public object LcsEntries { get; set; }
public string NavteqLinkId { get; set; }
public object PrimaryLocation { get; set; }
public object SecondaryLocation { get; set; }
public object FirstArticleCity { get; set; }
public object SecondCity { get; set; }
public string EventType { get; set; }
public string EventSubType { get; set; }
public object MapEncodedPolyline { get; set; }
}
Код
ObservableCollection<Events> events = new ObservableCollection<Events>();
Events events = JsonConvert.DeserializeObject<Events>(json);
lvEvents.ItemsSource = events;
xaml
<ListView x:Name="lvEvents" ItemsSource="{Binding Events}" >
<ListView.ItemTemplate>
<DataTemplate>
<Label Text="{Binding RegionName}" ></Label>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Ошибка:
Невозможно десериализовать текущий массив JSON (например, [1,2,3]) в тип 'Project.View.Events', поскольку для типа требуется объект JSON (например, {"name":" value "}) для правильной десериализации. Чтобы исправить эту ошибку, измените JSON на объект JSON (например, {"name": "value"}) или измените десериализованный тип на массив или тип, который реализует интерфейс коллекции (например, ICollection, IList), например List, который можетбыть десериализованным из массива JSON. JsonArrayAttribute также может быть добавлен к типу, чтобы принудительно десериализовать его из массива JSON. Путь '', строка 1, позиция 1.