Вы можете использовать динамические типы, а именно:
void DeserializeArrayOrBool(string json)
{
var jss = new System.Web.Script.Serialization.JavaScriptSerializer();
dynamic data = jss.Deserialize<dynamic>(json);
if (data["HOTELS"].GetType() == typeof(System.Boolean))
{
Console.WriteLine("empty array");
}
else
{
Console.WriteLine("HOTELS[0]={0} HOTELS[1]={1}", data["HOTELS"][0], data["HOTELS"][1]);
}
}
public void DerializeArrayOrBool()
{
DeserializeArrayOrBool(@"{""HOTELS"":[123, 456]}");
DeserializeArrayOrBool(@"{""HOTELS"":false}");
}