Я пытаюсь десериализовать ответ JSON на List, он всегда возвращает 0. Пожалуйста, посмотрите на код ниже и предложите исправить.
Данные JSON: -
tripSeats = {"seats":[
{"available":"true","baseFare":"600","serviceTaxAbsolute":"0"},
{"available":"true","baseFare":"600","serviceTaxAbsolute":"0"}
]}
Мои занятия:-
public class Seat
{
public string available { get; set; }
public string baseFare { get; set; }
public string serviceTaxAbsolute { get; set; }
}
public class Seats
{
public List<Seat> seats { get; set; }
}
Теперь я пытаюсь десериализовать данные JSON и хранить его в объекте List, как указано ниже
JavaScriptSerializer ser = new JavaScriptSerializer();
List<Seats> seats = ser.Deserialize<List<Seats>>(tripSeats.ToString());
Он ничего не делает, когда я отлаживаю код, который я вижу, имеет 0.
Проблема в том, что вы пытаетесь десериализовать объект Seats
в List<Seats>>
. Вам нужно либо изменить его на List<Seat>
либо просто использовать Seats
:
JavaScriptSerializer ser = new JavaScriptSerializer();
Seats seats = ser.Deserialize<Seats>(tripSeats);
или
JavaScriptSerializer ser = new JavaScriptSerializer();
List<Seat> seats = ser.Deserialize<List<Seat>>(tripSeats);
Попробуйте что-то вроде этого:
public class Seat
{
public string available { get; set; }
public string baseFare { get; set; }
public string serviceTaxAbsolute { get; set; }
public Seat() { }
}
string text = "[{\"available\":\"true\",\"baseFare\":\"600\",\"serviceTaxAbsolute\":\"0\"},{\"available\":\"true\",\"baseFare\":\"600\",\"serviceTaxAbsolute\":\"0\"}]";
List<Seat> seats = new List<Seat>();
public MainPage()
{
this.InitializeComponent();
seats = JsonConvert.DeserializeObject<List<Seat>>(text);
}