Как использовать restsharp для чтения массива Json
Мне нужно прочитать следующий кусок кода, используя RestSharp. Моя проблема в том, как получить массив в правильной структуре. Как мне настроить класс, который будет содержать объект, чтобы эта работа работала правильно?
Я хотел бы десериализовать объект "0" и "1" в списке типа AcUserInfo.
Большое спасибо. Andrea
{
"0":{
"id":"2",
"subscriberid":"2",
"cdate":"2012-09-28 16:49:06",
"sdate":"2012-09-28 16:49:06",
"first_name":"Al",
"last_name":"",
"email":"test@verizon.net"
},
"1":{
"id":"29",
"subscriberid":"29",
"cdate":"2012-10-02 15:08:29",
"sdate":"2012-10-02 15:08:29",
"first_name":"Mark",
"last_name":"",
"email":"test2@verizon.net"
},
"result_code":1,
"result_message":"Success: Something is returned",
"result_output":"json"
}
Вот класс, который я создал:
public class SubscriberList {
public int result_code { get; set; }
public string result_message { get; set; }
public string result_output { get; set; }
public List<AcUserInfo> row { get; set; }
SubscriberList(){
row = new List<AcUserInfo>();
}
}
1 ответ
Решение
Ваши данные JSON не содержат массив и, следовательно, не могут быть десериализованы в список<>.
Либо конвертируйте ваш JSON во что-то вроде этого:
{
[{
"id":"2",
"subscriberid":"2",
"cdate":"2012-09-28 16:49:06",
"sdate":"2012-09-28 16:49:06",
"first_name":"Al",
"last_name":"",
"email":"test@verizon.net"
},
{
"id":"29",
"subscriberid":"29",
"cdate":"2012-10-02 15:08:29",
"sdate":"2012-10-02 15:08:29",
"first_name":"Mark",
"last_name":"",
"email":"test2@verizon.net"
}],
"result_code":1,
"result_message":"Success: Something is returned",
"result_output":"json"
}
Или, если у вас всегда есть только элементы "0" и "1", измените класс SubscriberList на соответствующий ему.