2

DataContractJsonSerializerを使用して次のjsonを逆シリアル化したい:

 "coordinates": [
                           [
                               18.008966033966707,
                               59.328701014313964
                           ],
                           [
                               18.008642062225096,
                               59.3283087435048
                           ]
                       ]

配列内のアイテムには名前がないため、DataContractJsonSerializerにアイテムが何であるかを伝える方法がわかりません。私が試してみました:

[DataContract]
public  class Coordinate :IExtensibleDataObject
{

    [DataMember(Order = 1)]
    public decimal Longitude { get; set; }

    [DataMember(Order = 2)]
    public decimal Latitude { get; set; }

    public ExtensionDataObject ExtensionData { get; set; }
}

何か案は?

4

1 に答える 1

2

これを行う方法を見つけました。次のコードは問題を解決します。

[CollectionDataContract] 
public  class Coordinate : List<object> 
{ 
    public decimal Longitude { get { return (decimal)this[0]; } set { this[0] = value; } } 

    public decimal Latitude { get { return (decimal)this[1]; } set { this[1] = value; } } 

    public ExtensionDataObject ExtensionData { get; set; } 
} 
于 2012-03-17T12:30:55.543 に答える