如何在Windows8应用程序中无缝地反序列化JSON

如何在Windows8应用程序中无缝地反序列化JSON,json,windows-runtime,asp.net-web-api,nuget,Json,Windows Runtime,Asp.net Web Api,Nuget,Web API客户端库NuGet Package引入了JSON.NET和一些方便的扩展方法,用于反序列化JSON,如: response.Content.ReadAsAsync<IEnumerable<Product>>().Result response.Content.ReadAsAsync().Result 但此软件包与Windows 8应用程序项目不兼容。如果没有这个NuGet包,我如何以相同的通用方式反序列化JSON对象?你说“与Win 8不兼容”是什么意思

Web API客户端库NuGet Package引入了JSON.NET和一些方便的扩展方法,用于反序列化JSON,如:

response.Content.ReadAsAsync<IEnumerable<Product>>().Result
response.Content.ReadAsAsync().Result

但此软件包与Windows 8应用程序项目不兼容。如果没有这个NuGet包,我如何以相同的通用方式反序列化JSON对象?

你说“与Win 8不兼容”是什么意思

Microsoft.AspNet.WebApi.Client
是为支持Win8而开发的

Install-Package Microsoft.AspNet.WebApi.Client
只安装此软件包,而不是整个Web API

你可以在Henrik Frystyk Nielsen的博客文章中看到发行说明-


至少有2个JSON序列化程序可用于Windows应用商店应用程序:

  • 是.NET framework的一部分
  • 也支持Json.NET。如果只安装以下软件包,则可以将其添加到Windows应用商店应用程序项目中:
    install package Newtonsoft.Json

“以相同的通用方式反序列化我的JSON对象”具体指的是什么?

请注意,在某些情况下,访问.Result可能不起作用,并且可能会使应用程序死锁。使用await关键字通常是更好的选择。“您正试图将此软件包安装到以“.NETCore,Version=v4.5”为目标的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请与软件包作者联系。”Mh。这是一篇“老”博客文章,但似乎仍然是WinRT的首选。“安装包Microsoft.AspNet.WebApi.Client-Pre”dit it()。
The Microsoft ASP.NET Web API Client Libraries package adds support for formatting 
 content negotiation to System.Net.Http when writing Windows Store Apps. 
It includes support for JSON, XML, form URL encoded data, as well as MIME multipart. 
This package requires Visual Studio 2012 and Windows 8.