Я пытаюсь десериализовать HTTP-ответ JSON, но получаю сообщение об ошибке "ссылка на объект не установлена на экземпляр объекта".
Я знаю, что это часто задаваемый вопрос, но ничего, что я нашел об ошибке, не помогло мне. Я думаю, что мне не хватает чего-то очень базового c.
Ответ JSON, который я получаю, выглядит примерно так:
{
"value": [
{
"createdDateTime": "2020-03-14T12:25:54Z",
"id": "W2RQ6DOBCJUXWGR35DLKP7UI6IN",
"name": "somename",
"size": 200230,
},
{
"createdDateTime": "2020-03-24T08:25:03Z",
"id": "Q6DOBCJUXWFIGR35DLWERKP7UI6IN",
"name": "somename",
"size": 200230,
},
...
]
}
Мне уже удалось десериализовать свойства, которые только происходят один раз в ответе. Однако на этот раз мне нужны свойства "id" и "name" назад. Вот как я это попробовал:
public class Value
{
public string Name { get; set; }
public string Id { get; set; }
public Value[] Children { get; set; }
}
public class RootObject
{
public Value[] RespValues { get; set; }
}
var objJSON = JObject.Parse(jsonresponse);
var objResponse = objJSON["Response"].ToString();
RootObject categoryTree = JsonConvert.DeserializeObject<RootObject>(objResponse);
До сих пор я пробовал несколько разных подходов, но каждый из них вызывал ошибку. Я не совсем уверен, что я делаю не так.