2013-01-17 50 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我對象相同的通用方式」是什麼?