これが私の問題です:
私が行っていない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 w /プロパティ:
- hotelObj利用可能なホテル
- int totalFound
- 文字列responseId
- 文字列searchId
- hotelObj w /プロパティ:
- ホテルホテル
- プロパティ付きホテル:
- processId
- hotelCode
- 可用性ステータス
- ..。
したがって、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'.
このオブジェクトを逆シリアル化するための正しい文は何ですか?
ありがとう!