2013-01-17 48 views
0

在Web API客户端库的NuGet Packag带来JSON.NET和一些方便的扩展方法用于反序列化JSON像这样:如何反序列化JSON在Windows 8应用无缝

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

但是这个包不兼容Windows 8应用程序项目。如何在没有此NuGet包的情况下以同样的通用方式反序列化我的JSON对象?

+0

请注意,访问.Result可能不适用于某些情况,并可能导致应用程序死锁。使用await关键字通常是更好的选择。 –

回答

2

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

Microsoft.AspNet.WebApi.Client已被开发为支持Win8。

Install-Package Microsoft.AspNet.WebApi.Client 

只安装此软件包而不是整个Web API。

你可以看到发布说明,在博客文章由亨利克·弗里斯蒂克·尼耳森 - http://blogs.msdn.com/b/henrikn/archive/2012/08/15/asp-net-web-api-released-and-a-preview-of-what-s-next.aspx

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. 
+0

“您正试图将此软件包安装到以'.NETCore,Version = v4.5'为目标的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请联系包作者“。 – timmkrause

+0

Mh。这是一个“旧”的博客文章,但它似乎仍然是WinRT的alpha版本。 “Install-Package Microsoft.AspNet.WebApi.Client -Pre”dit it(http://nuget.org/packages/Microsoft.AspNet.WebApi.client)。 – timmkrause

0

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

  • DataContractJsonSerializer是.NET框架的一部分。
  • 也支持Json.NET。你可以将其添加到Windows商店应用项目,如果你只安装该软件包:Install-Package Newtonsoft.Json

你到底是指的与“反序列化JSON我对象相同的通用方式”是什么?