2013-07-30 60 views
0

我爲Silverlight應用程序創建了一個服務,並且在服務中我有返回字符串GetAllUsers()的函數。它創建一個列表並返回JsonConvert.Serialize(list)如何反序列化JSON我Silverlight?

所以在silverlight我異步獲得結果字符串,但silverlight不會從newtonsoft添加JSON所以我怎麼反序列化它呢?

+0

newtonsoft json.net支持silverlight。使用正確的版本/內部版本或NUGET – SalientBrain

回答

0

您尚未指定您使用的技術,所以我認爲這是一個關於如何解析Silverlight中的JSON數據的常見問題。我寫了一個tutorial in my blog,它是用於Windows Phone,但也可以在Silverlight中工作。或者您可以使用MSDN documentation中的示例。

一般的算法是這樣的:

  1. 與DataContract和DataMember屬性創建模型類。
  2. 使用the default serializer class這樣:new DataContractJsonSerializer(typeof(YourModel))
  3. 解析流模型類(YourModel)dcs.ReadObject(stream)

如果你有一個字符串,而不是流,你應該把它轉換成的MemoryStream一個實例,它在MSDN documentation解釋。

此外,您可以使用其他silverlight庫像JSON.Net反序列化,但我沒有與他們合作,所以我使用默認的序列化程序。

0

http://json.codeplex.com/

這是一個一個真棒JSON序列包。事實上,ASP.NET開發人員將它作爲ASP.NET MVC的一個組件分發。