2013-09-26 12 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;} 
} 

Моя служба возвращает упорядоченный JSON из ServiceResponse объектов

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

где успеш- указывают, выполняется ли операция успешно или не включенные в другие категории
                    Данные - это сериализованный список объектов Корзина
Я могу разобрать ответ службы. Теперь проблема заключается в том, как разбирать часть данных в 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 Data? – Lev

+0

Это очень понравилось! –

Смежные вопросы