2013-09-26 46 views
2

我有一個複雜的對象遵循解析序列化的數據回JSON

public class Cart 
{ 
    public int cartID{get; set;} 
    public bool IsActive{get; set;} 
    public double price{get; set;} 
    public List<Items> items{get; set;} 
} 

public class Item 
{ 
    public int itemID{get; set;}} 
    public string itemName{get;set;} 
    public double price{get; set;} 
} 

我的服務回報對象ServiceResponse的序列化JSON

public class ServiceResponse 
{ 
    public bool Success{get;set;} 
    public string Data{get;set;} 
} 

其中成功 - 指示操作是否成功執行或不
                    Data-是對象的序列化列表
我能夠解析服務響應。現在的問題是如何解析wp7中的'數據'部分? (不使用JSON.net)

我試圖解析以下數據

[{"cartID":1,"customerID":10,"dateCreated":22922680,"amount":3026.00,"Items":[{"itemID":263,"itemName":"Item 02","itemPrice":395.00,"item_qty":"4","total_Price":1580.0000},{"itemID":264,"itemName":"item2","itemPrice":495.00,"item_qty":"4","total_Price":1980.0000}],"CustomerDetails":{"CustomerID":10,"LogonID":null,"FirstName":"test","LastName":null,"FullName":"test customer","Phone1":"12345678","Phone2":"","Email":"[email protected]","State":"","Country":""}},{"cartID":637,"customerID":10,"dateCreated":22922643,"amount":323.00,"Items":[{"itemID":267,"itemName":"Item01","itemPrice":95.00,"item_qty":"4","total_Price":380.0000}],"CustomerDetails":{"CustomerID":10,"LogonID":null,"FirstName":"test customer","LastName":null,"FullName":"test customer","Phone1":"12345678","Phone2":"","Email":"[email protected]","City":"","State":"","Country":""}}] 

回答

2

如果你不想使用第三方JSON庫,去DataContractJsonSerializer。請參閱MSDN reference

如果你期待列表中數據字段連載:

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<Cart>)); 
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(Data)); 
List<Cart> carts = ser.ReadObject(ms) as List<Cart>; 
+0

我使用DataContractJsonSerializer和我能夠序列化從服務的響應,但我無法反序列化來自於車的系列化名單ServiceResponse作爲字符串。如何反序列化字符串? –

+0

您可以提供數據的示例JSON值嗎? – Lev

+0

它的工作非常感謝! –