Newtonsoft.Json.JsonSerializationException:'无法反序列化当前的JSON对象

时间:2018-05-31 11:38:28

标签: c# json-deserialization

错误:

  

Newtonsoft.Json.JsonSerializationException:'无法反序列化   当前的JSON对象(例如{" name":" value"})到类型   ' System.Collections.Generic.List`1 [MFBDCP.HotelList +地理位置]'   因为该类型需要一个JSON数组(例如[1,2,3])来反序列化   正确。

我的代码:

HotelResponse myDetails = JsonConvert.DeserializeObject<HotelResponse>(final);

父类:

public class HotelResponse
{
   public List<hotels> hotels { get; set; } = new List<hotels>();
   public DateTime checkin { get; set; }
}

儿童班:

public class hotels
{
   public string hotel_code { get; set; }
   public List<geolocation> geolocation { get; set; }
}

子子类:

public class geolocation
{
   public string longitude { get; set; }
   public string latitude { get; set; }
}

请告诉我如何定义嵌套列表

1 个答案:

答案 0 :(得分:0)

输入字符串中可能有错误,最终。该错误消息表明其中一个数组(列表)未正确形成。由于您有嵌套列表,因此它可能是未正确形成的内部或外部数组。

我要做的是,以编程方式创建一个实际的HotelResponse对象,其中包含与final相同的属性值。然后,使用JsonConvert.SerializeObject()来查看Json应该是什么样子。通过将JsonConvert.SerializeObject的结果与final进行比较,您应该能够找出问题所在。