我已經知道如何反序列化使用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