这是一个结果示例,(facebook公共示例)
(/search?q=coffee&type=place¢er=37.76,-122.427&distance=1000)
我有这个模型:
[DataContract]
public class FBPlaces
{
[DataMember(Name = "data")]
public List<Place> Data { get; set; }
[DataMember(Name = "paging")]
public Paging Paging { get; set; }
}
[DataContract]
public class Paging
{
[DataMember(Name = "next")]
public string Next { get; set; }
}
[DataContract]
public class Place
{
[DataMember(Name = "location")]
public List<Location> Locations { get; set; }
[DataMember(Name = "category")]
public string Category { get; set; }
[DataMember(Name = "name")]
public string Name { get; set; }
[DataMember(Name = "id")]
public string ID { get; set; }
}
[DataContract]
public class Location
{
[DataMember(Name = "street")]
public string Street { get; set; }
[DataMember(Name = "city")]
public string City { get; set; }
[DataMember(Name = "state")]
public string State { get; set; }
//[DataMember(IsRequired = false, Name = "country ")]
//public string Country { get; set; }
[DataMember(Name = "zip")]
public string Zip { get; set; }
[DataMember(Name = "latitude")]
public double Latitude { get; set; }
[DataMember(Name = "longitude")]
public double Longitude { get; set; }
}
问题是映射“位置”数组,我得到
System.ArgumentException:为调用方法'Void set_Item(Int32,MyProject.Models.Location)'提供的参数数量不正确
如果我删除 Locations ,一切都很好,我得到 Category+Name+Id 。(但没有地点)
如何解决?
在我的真实示例(不同位置查询)中,并不总是显示“国家”,我如何处理这种数据?我评论了 Country property 。