2013-10-14 15 views
0

我的Json格式如下。如何獲得一個JSON字符串使用休息API的Windows手機?

{ 
    "code" : o, 
    "message" : "success", 
    "book_list": 
[ 
{"name": "C","price":180}, 
{"name": "C++","price":180}, 
{"name": "C#","price":180}, 
] 
} 

我是一個全新的Windows手機應用程序開發初學者! 我應該如何從網址獲取書籍清單並將其存儲在字典中的一種東西?(即作爲一個關鍵值對)的Windows Phone 7?

回答

1

您可以使用this JSON framework for .NET

using System.Runtime.Serialization; 

    [DataContract] 
    public class BookShop 
    { 

     [DataMember(Name = "code")] 
     public int Code { get; set; } 

     [DataMember(Name = "message")] 
     public string Message { get; set; } 

     [DataMember(Name = "book_list")] 
     public List<Book> Result { get; set; } 
    } 


    [DataContract] 
    public class Book 
    { 
     [DataMember(Name = "name")] 
     public string Name { get; set; } 

     [DataMember(Name = "price")] 
     public int Price { get; set; } 
    } 


public partial class MainPage : PhoneApplicationPage 
{  
    public MainPage() 
    { 
     InitializeComponent(); 

     string json = "{\"code\": 0,\"message\": \"success\",\"book_list\": [{\"name\": \"C\",\"price\": 180}, {\"name\": \"C++\",\"price\": 180 }, {\"name\": \"C#\",\"price\": 180}]}"; 

     var myObjects = JsonConvert.DeserializeObject<BookShop>(json); 

     foreach (var item in myObjects.Result) 
     { 
      Debug.WriteLine("{0} has price {1}", item.Name, item.Price); 
     } 

    } 
} 
+0

我目前的工作就可以了,但在此之前,我只是有一個疑問///在JSON字符串你已經使用有很多「\「」,但我恐怕我的字符串中沒有這樣的東西!!它會有所作爲嗎?或者它會工作完美嗎? – Aju

+0

它會工作完美http://msdn.microsoft.com/en-us/library/267k4fw5 .aspx你也可以使用string json = @「{」「code」「:0,」「message」「:」「success」「,」「book_list」「:[{」「name」「:」「C」 「」,「」價格「」:180},{「」名稱「」:「」C++「」,「」價格「」:180},{「」名稱「」:「」C#「」,「」價格「 「:180}]}」; – Alexandr

+0

感謝您的回覆......我只是有另一個疑問,假設如果這本書是免費的,那麼p水稻節點將不會在那裏(輸出將是{\「name \」:\「C++ \」}),在這種情況下它會正常工作? – Aju