вот моя проблема:
Я пытаюсь десериализовать JSON, что не было сделано мной. Формат JSON выглядит следующим образом:
{"responseId":1200,
"availableHotels":[
{"processId":"HA-84665605","hotelCode":"UKKTLT","availabilityStatus":"InstantConfirmation",...},
{"processId":"HA-28600965","hotelCode":"UKKTLT","availabilityStatus":"InstantConfirmation",...},
{"processId":"HI-63991185","hotelCode":"UKJOVF","availabilityStatus":"InstantConfirmation",...}
],
"totalFound":9,
"searchId":"TP-84026455"}
И следующие классы:
- getAvailableHotelResponse со свойствами:
- hotelObj availableHotels
- int totalFound
- String responseId
- Строка searchId
- hotelObj w / properties:
- отель ж / свойства:
- ProcessId
- hotelCode
- availabilityStatus
- ...
Поэтому, глядя на json, я знаю, что он содержит информацию об объекте getAvailableHotelResponse.
Итак, я попробовал следующее, используя JsonConvert
и JavaScriptSerializer
:
JavaScriptSerializer ser = new JavaScriptSerializer();
getAvailableHotelResponse availableResponse = ser.Deserialize<getAvailableHotelResponse>(json);
// Exception: "Type 'com.hotelspro.api.getAvailableHotelResponse' is not supported for deserialization of an array"
List<getAvailableHotelResponse> items = ser.Deserialize<List<getAvailableHotelResponse>>(json);
// items.Count = 0
List<getAvailableHotelResponse> result = JsonConvert.DeserializeObject<List<getAvailableHotelResponse>>(json);
// Exception: "Cannot deserialize JSON object into type 'System.Collections.Generic.List`1[com.hotelspro.api.getAvailableHotelResponse]'."
getAvailableHotelResponse result2 = JsonConvert.DeserializeObject<getAvailableHotelResponse>(json);
// Exception: Cannot deserialize JSON array into type 'com.hotelspro.api.hotelObj'.
Какое правильное предложение для десериализации этого объекта?
Спасибо!