我已经知道如何反序列化使用DataContractJsonSerializer
JSON数组,但现在我有一个JSON对象,它有一个叫items
键和值是array
。与DataContractJsonSerializer反序列化对象,并将其映射到一个列表
例如,JSON字符串是{ name: "someString", items: [1, 2, 3] }
现在我想知道是否有任何内置的方法来此对象转换为从List<T>
派生的自定义类,例如下面的类:
[DataContract] // This is not working, you can't apply DataContract attribute to a List<T>
// [ItemsCollectionIsIn("items")]
public class MyObject : List<int>
{
[DataMember]
public string name;
}
我曾试图[CollectionDataContract]
属性与其ItemName
设置为"items"
,但似乎只是DataContractJsonSerializer
忽略ItemName
财产和串行/从数组对象反序列化到/。
现在我可以在我的类上实现IList<T>
并从内部列表返回值,或者我认为我可以为JSON对象契约编写一个类,而另一个从List派生,然后手动填充值,还有更好的方法吗?
我正在使用Windows Phone LongListSelector
,所以我需要一个GroupedList(List<List<T>>
)。
或者,如果JSON.Net可以更容易地做到这一点,请给我一些提示。
我不知道是否有某种方法可以将'items'的内容映射到对象本身。 – 2014-09-06 00:54:51
@SimonChan我真的不知道。无论如何,你可以很容易地用LINQ来提取它。 – 2014-09-06 00:59:44