JSON десериализация анонимного массива - PullRequest
1 голос
/ 17 марта 2012

Я бы хотел десериализовать следующий json с помощью DataContractJsonSerializer:

 "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; }
}

Есть идеи?

1 Ответ

2 голосов
/ 17 марта 2012

Узнал, как это сделать.Следующий код решает проблему:

[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; } 
} 
...