2013-07-30 34 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的一个组件分发。