Я хочу десериализовать данные JSON. Как я могу десериализовать его на объект или список класса C #?
[
2074,
[
0,
0,
0,
1,
0,
0,
0
],
0,
[
{
"886":[
"Anna Bay"
],
"3971":[
"Dmitry Khraponenkov"
]
},
[
3971,
886
]
]
]
Мне нужно разобрать имена.
Я пробовал это, но это совсем другая вещь: newtonsoft.com/json/help/html/DeserializeCollection.htm
Не зная больше о том, что именно представляют эти данные или в какую структуру классов вы бы хотели их десериализовать, трудно дать полезный совет. Но если я восприму ваш вопрос буквально как "вот какой-то JSON со смешанными типами данных; как мне извлечь из него имена?", То вы можете решить эту проблему с помощью API LINQ-to-JSON Json.Net:
Fiddle: https://dotnetfiddle.net/EJOKeW
Примечание о JSON
JSON используется для представления структуры данных. Содержащиеся данные часто представляют собой набор пар имя-значение. Сопряжение каждого значения с именем позволяет потребителю работать с JSON без предварительного знания данных или структуры данных. Как отмечает Брайан в комментариях ниже, JSON также может быть набором значений, но это накладывает бремя интерпретации этих значений на потребителя.
Вернуться к вашему вопросу
Большинство ваших значений не имеют имен, что затрудняет десериализацию в объект класса C #.
Если вы можете изменить JSON, сделайте это и присвойте каждому значению имя.
Если вы не можете изменить JSON, вы можете просто проанализировать строку.
Чтобы узнать больше о JSON, посетите: https://developer.mozilla. орг / EN-US / документы / Learn / JavaScript / Объекты / JSON
["foo", "bar", "baz"]
. Конечно, трудно десериализовать смешанные данные, такие как OP, в структуру класса, но это можно сделать с помощью одного или нескольких пользовательских JsonConverters, при условии, что мы знаем, как должны отображаться данные (что OP не удосужился объяснить нам).