Desserializando o resultado JSON com Json e JavaScriptSerializer

aqui está o meu problema:

Estou tentando desserializar json que não foi feito por mim. O formato do json é o seguinte:

{"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"}

E as seguintes classes:

getAvailableHotelResponse com propriedades:hotelObj availableHotelsint totalFoundString responseIdString searchIdhotelObj com propriedades:hotel hotelhotel c / propriedades: processId hotelCodestatus de disponibilidad ...

ortanto, o que sei ao analisar o json é que ele contém informações de um objeto getAvailableHotelRespons

Tentei o seguinte usandoJsonConvert eJavaScriptSerializer:

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'.

Qual é a sentença correta para desserializar esse objet

Obrigado

questionAnswers(2)

yourAnswerToTheQuestion