在WinRT中使用C#解析JSON

3
3个回答

5
对于在.NET(包括完整的.NET和WinRT)中反序列化JSON,我始终建议使用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);
}

我之前写过一篇更详细的文章,展示了在WinRT中解析JSON数据的不同可能性。您可以点击此处查看。


2

1

只需将ASCIIEncoding.UTF8替换为Encoding.UTF8 - 它们本质上是相同的对象(静态UTF8属性在桌面框架的基本Encoding类中定义)。这在W8 Metro应用程序中可用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接