【问题标题】:Windows Phone 8 JSONWindows 电话 8 JSON
【发布时间】:2012-10-26 14:15:35
【问题描述】:

我正在windows phone 8上开始开发,著名的JSON.NET还不支持windows phone 8,有没有其他库可以用于此目的?

【问题讨论】:

  • Windows Phone 7 版本的 Json.NET 适用于 WP8。
  • @JamesNewton-King,我尝试使用 NuGet 将 JSON.NET 添加到我的项目中并得到“无法安装包'Newtonsoft.Json 4.5.10'。您正在尝试将此包安装到以 'WindowsPhone,Version=v8.0' 为目标的项目,但包不包含与该框架兼容的任何程序集引用。有关详细信息,请联系包作者。”
  • JSON.NET 的开发者回答了你的问题!请重试!

标签: json json.net windows-phone-8


【解决方案1】:

遇到了完全相同的问题 - 原来我没有最新版本的 NuGet。

要升级,请单击tools -> extensions and updates,然后单击Updates-选项卡。更新所有内容,重新启动程序并重试。 :-)

【讨论】:

  • 这为我解决了“您正在尝试将此软件包安装到以 'WindowsPhone,Version=v8.0' 为目标的项目中”的问题。即使我今天只从微软下载了 VS 工具,这也影响了我;它们似乎带有旧版本的工具。
【解决方案2】:

我遇到了这个问题。我能够为 Windows Phone 8 而不是 Windows 7.1 编译源代码并且它工作正常。 NuGet 不适合我。

我是这样做的:

  1. 打开解决方案 JsonXXrXX.zip\Source\Src\Newtonsoft.JSON.WindowsPhone.sln
  2. 转到 Newtonsoft.Json.WindowsPhone 项目的属性(右键单击项目然后属性)
  3. 对于“目标 Windows Phone 操作系统版本”的下拉菜单,选择 Windows 8.X
  4. 编译。
  5. 从输出目录中获取 DLL、PDB 和 XML
  6. 在 Windows Phone 8 项目中添加对 DLL 文件的引用

就是这样。我不能保证它 100% 有效,或者你将能够提交你的应用程序。但它应该会让你坚持下去,直到有官方支持。

【讨论】:

    【解决方案3】:

    JSON.NET codeplex site 表示支持 WP8。

    更新: JSON.NET NuGet 包应该只适用于 Windows Phone 8.0 项目。在 VS2012 NuGet 管理器中添加它会拉入 JSON.NET 的 WP7 版本。 (packages\Newtonsoft.Json.4.5.10\lib\sl3-wp\Newtonsoft.Json.dll)

    JSON.NET 现在也可用作可移植类库,您可以从 WP8 使用它(以 NuGet 或源形式提供)。

    【讨论】:

    • 这是我通过 NuGet 安装时得到的结果“无法安装包 'Newtonsoft.Json 4.5.10'。您正在尝试将此包安装到针对 'WindowsPhone,Version=v8 的项目中。 0',但包不包含任何与该框架兼容的程序集引用。有关详细信息,请联系包作者。"
    • 这对我来说在一个全新的 C# Windows Phone 8.0 项目上运行良好。它正在拾取“packages\Newtonsoft.Json.4.5.10\lib\sl3-wp\Newtonsoft.Json.dll”,即 JSON.NET 的 WP7 版本。我会更新我的答案。
    • 如果这对任何人都不起作用。升级 NuGet。使用最新版本的 NuGet,我能够安装 Json.Net。
    • 对于所有新手(比如我)-> Visual Studio -> 项目 -> 管理 NuGet 包 -> 在线。你应该在那里找到它。如果不使用右上角的搜索框。
    【解决方案4】:

    对于复杂的 json,您可能会发现这个网站很有帮助:http://json2csharp.com/#

    【讨论】:

      【解决方案5】:

      如果您不想制作太花哨的东西(或需要字典)支持,您也可以使用内置的 DataContractJsonSerializer (http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx)

      顺便说一句:至少在https://json.codeplex.com/discussions/401305 中,有人报告说 WP7.1 dll 适用于他们,使用此文件:“Newtonsoft.Json.4.5.7\lib\sl4-windowsphone71\Newtonsoft.Json.dll”。

      【讨论】:

      • 感谢回复,我可以使用 DataContractJsonSerializer 解析动态 json 吗?因为我将解析非常复杂的 json 并为每个对象创建一个单独的类似乎是一项繁重的任务
      • 不,如果 JSON 结构变得复杂,尤其是。动态数据很可能意味着它是代码级别的字典对象,这仍然不受支持。
      • 好的,所以我想我现在必须离开 json,XML 呢,你能推荐任何动态 xml 解析库吗?谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多