【问题标题】:How can I deserialize JSON i Silverlight?如何反序列化 JSON i Silverlight?
【发布时间】:2013-07-31 23:26:50
【问题描述】:

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

所以在 silverlight 中我异步获取结果字符串,但是 silverlight 不会从 newtonsoft 添加 JSON,所以我该如何反序列化它?

【问题讨论】:

  • newtonsoft json.net 支持 Silverlight。使用正确的版本/构建或 NUGET

标签: json silverlight serialization


【解决方案1】:

您尚未指定您使用的技术,因此我假设这是关于如何在 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 中有解释。

您还可以使用 JSON.Net 等其他 silverlight 库进行反序列化,但我没有使用过它们,所以我使用默认的序列化程序。

【讨论】:

    【解决方案2】:

    http://json.codeplex.com/

    这是一个很棒的 JSON 序列化包。实际上非常好,以至于 ASP.NET 开发人员将其作为 ASP.NET MVC 的一个组件分发。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-27
      • 2015-05-19
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      相关资源
      最近更新 更多