Как правильно распрасить JSON?

204
10 апреля 2017, 03:49

Добрый вечер.

Отправляю данный GET-запрос

Классы для парсинга.

public class USERSresponse
{
    public string id { get; set; }
    public string firstname { get; set; }
    public string secondname { get; set; } 
    public string photourl { get; set; }
}
public class data
{
    public  USERSresponse[] response { get; set; }
}

Метод парсинга

private data GetJson (string url)
{
    string StreamStr = "";
    using(StreamReader srr=new StreamReader(Get(url)))
    {
        StreamStr = srr.ReadToEnd();
    }
    data data = JsonConvert.DeserializeObject<data>(StreamStr);
    return data;
 }

В строку StreamStr верно записывается JSON-объект(поток получаем верно). По итогу имеем вот такую data.

Подскажите в чем ошибка, пожалуйста, спасибо заранее.

Answer 1

Проблема в том, что вы неверно определили классы-модели для дальнейшей десериализации с помощью метода JsonConvert.DeserializeObject. Структура должна быть такой, и менять имена свойств не нужно, иначе снова всё сломается.

public class User
{
    public int Uid { get; set; }
    public string First_name { get; set; }
    public string Last_name { get; set; }
    public string Photo_50 { get; set; }
    public int? Hidden { get; set; }
}
public class Data
{
    public User[] Response { get; set; }
}
READ ALSO
C#: в чем разница между readonly и const?

C#: в чем разница между readonly и const?

Привет всем! В C# есть const и readonlyВ сети нашел только информацию о разнице static readonly и const

262
Можно ли методы класса выносить в разные файлы

Можно ли методы класса выносить в разные файлы

Иногда класс содержит большое количество методов, свойств и прочегоХотелось бы как-то это дело сделать более читаемым

193
Получить поля объекта в массиве php

Получить поля объекта в массиве php

Есть массивКаждый элемент массива представляет собой объект с двумя полями

240