1

結果の例を次に示します(facebook public exmaple)

(/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を削除すると、すべてが正常になり、Catergory + Name+Idが取得されます。(ただし、場所はありません)

  • それを修正する方法は?

  • 私の実際の例(別の場所のクエリ)では、「国」が常に表示されるとは限りません。この種のデータをどのように処理しますか?カントリープロパティにコメントしました。

4

1 に答える 1

1

場所は場所内の配列ではありません。

試す

[DataContract]
 public class Place
 {
    [DataMember(Name = "location")]
    public 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; }
}
于 2013-03-09T13:32:28.250 に答える