的Json序列化
问题描述:
我想用反序列化JSON如下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; }
}
任何想法?
答
找到了如何做到这一点。下面的代码解决了这个问题:
[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; }
}
+1
我认为你的'Latitude' setter方法是错误的。它应该使用'this [1]',就像getter一样。 – svick 2012-03-17 14:09:12
请将您的工作代码为回答这个问题,让用户能给予好评它例如:) – 2012-03-17 10:20:08