2012-06-11 61 views

回答

1

只需更換ASCIIEncoding.UTF8Encoding.UTF8 - 它們本質上是相同的對象(靜態UTF8屬性在桌面框架的基類Encoding類中定義)。這在W8 metro apps中可用。

5

爲了反序列化.NET中的JSON(包括完整的.NET和WinRT),我總是推薦使用JSON.NET。它比DataContractJsonSerializer或任何其他開箱即用的解決方案容易得多。正如你在下面的代碼中看到的,你不需要象你提供的例子那樣定義編碼。

所有你需要的是一個對象模型(使用json2csharp產生的呢)和幾行代碼:

HttpResponseMessage response = await HttpClient.GetAsync(someUri); 
if (response.StatusCode == HttpStatusCode.OK) 
{ 
    string responseString = await response.Content.ReadAsStringAsync(); 
    // parse to json 
    resultItem = JsonConvert.DeserializeObject<T>(responseString); 
} 

我寫了一個更廣泛的帖子裏介紹的JSON parsing in WinRT不同的可能性,前一段時間。