2013-01-23 56 views
1

我有問題在WP7上使用JSON.Net反序列化字符串。我有這樣的JSON字符串:Windows Phone反序列化到列表JSON .NET

JSON Example

,我已經從它生成一個類(http://json2csharp.com/)。

 void GETHotels() 
     { 
      WebClient c = new WebClient(); 
      c.DownloadStringAsync(new Uri(@"...")); 
      c.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DownloadStringCompleted); 
     } 

     DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
     {   
      var deserialized = JsonConvert.DeserializeObject<List<Classes.RootObject>>(e.Result); 
     } 

但是當我嘗試反序列化e.Result,我得到異常:

錯誤轉換值 「{」 hotId 「:... 6390285}]」 鍵入 「System.Collections中.Generic.List`1 [Hotel_cz.Classes.RootObject]」。路徑 '',第1行,位置971.

有人可以幫我解決這個問題嗎?

+1

您可以顯示RootObject的代碼? – Cybermaxs

+0

public class RootObject { public int hotId {get;組; } public string Name {get;組; } public double latitude {get;組; } public double longitude {get;組; } } –

回答

1

這應該工作...

var hotels = JsonConvert.DeserializeObject<List<Hotel>>(e.Result); 

public class Hotel 
{ 
    public int hotId; 
    public string Name; 
    public double latitude; 
    public double longitude; 
} 
+0

我嘗試了一下,但我得到了同樣的異常......可能是e.Result中的一些問題? –

+0

@ user1041802我試過用你發佈的json,它的工作原理 – I4V

+0

嗯......我嘗試重新安裝JSON ... –