У меня следующий json: нужно десериализовать в C #.
[
[{
"ElementName": "H1 ",
"lat": 51.394319720562514,
"lng": -109.99996662139893
}, {
"ElementName": "H1 ",
"lat": 51.394319720562514,
"lng": -109.99995589256287
}],
[{
"ElementName": "H2 ",
"lat": 51.394319720562514,
"lng": -109.99996662139893
}, {
"ElementName": "H2 ",
"lat": 51.394319720562514,
"lng": -109.99995589256287
}]
]
Я написал следующий код, чтобы десириализовать его.
public class PointElement
{
public string ElementName { get; set; }
public double lat { get; set; }
public double lng { get; set; }
}
var testPointList = JsonConvert.DeserializeObject<List<PointElement>>(testNewJson);
но консоль показывает ошибку
Controllers.PointElementRecord ', поскольку тип требует JSON
объект (например, {"name": "value"}) для правильной десериализации. Чтобы исправить это
ошибка, либо измените JSON на объект JSON (например, {"name": "value"})
или измените десериализованный тип на массив или тип, который реализует
интерфейс коллекции (например, ICollection, IList), такой как List, который может
быть десериализованным из массива JSON. JsonArrayAttribute также может быть
добавлен к типу, чтобы заставить его десериализоваться из массива JSON. Дорожка
«[0]», строка 1, позиция 2.
нужно решение, как десериализовать эту строку массива, так как этот код работает нормально для массива ниже
[{
"ElementName": "H1 ",
"lat": 51.394319720562514,
"lng": -109.99996662139893
}, {
"ElementName": "H1 ",
"lat": 51.394319720562514,
"lng": -109.99995589256287
}]