如何反序列化JSON i Silverlight?

时间:2013-07-30 09:32:28

标签: json silverlight serialization

我为我的silverlight应用程序创建了一个服务,在服务中我有一个返回字符串GetAllUsers()的函数。它创建一个List并返回JsonConvert.Serialize(list)

所以在Silverlight中我异步获取结果字符串,但是silverlight不会从newtonsoft添加JSON,那么我怎样才能反序列化呢?

2 个答案:

答案 0 :(得分: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)
  4. 如果您有字符串而不是流,则应将其转换为MemoryStream的实例,MSDN documentation中对此进行了解释。

    此外,您可以使用其他Silverlight库(如JSON.Net)进行反序列化,但我没有使用它们,因此我使用默认的序列化程序。

答案 1 :(得分:0)

http://json.codeplex.com/

这是一个非常棒的JSON序列化包。事实上,ASP.NET开发人员将其作为ASP.NET MVC的一个组件进行分发。