1

如何在 C# 中解析 json 提要?

到目前为止,我尝试了以下操作:

         string fileurl = "http://itunes.apple.com/rss/customerreviews/id=123456789/json";

        var jsonStr = new WebClient().DownloadString(fileurl);

        JavaScriptSerializer serializer = new JavaScriptSerializer();
        var jsonObject = serializer.Deserialize<IDictionary<string, object>>(jsonStr);

一旦我开始Dictionary<string, object> dic1 = new Dictionary<string, object>();使用上面的代码。

我迭代得到value object[]如下所示。

        foreach (KeyValuePair<String, object> d in dic1)
        {
            var k = d.Key;
            var v = d.Value;
         }

现在是valueisSystem.Object[]类型,所以任何人都可以帮我解析这个对象,如下图所示?我是新手,所以任何帮助都会很棒!

在此处输入图像描述

4

3 回答 3

2

我倾向于在这种情况下使用 JSON.NET。这里有一个例子,他使用 LINQ 解析 rss 提要,

http://james.newtonking.com/projects/json/help/

还有一个 SelectToken 方法,它使用路径语法查询解析的 JSON。

于 2013-02-14T19:43:19.407 回答
0

也许 ServiceStack 的 JSON 解析器会有所帮助——它支持动态 JSON

于 2013-02-14T21:19:44.607 回答
0

您正在反序列化为错误的类型。

在您的代码中,

JavaScriptSerializer serializer = new JavaScriptSerializer();
var jsonObject = serializer.Deserialize<IDictionary<string, object>>(jsonStr);

您指定它需要反序列化以键入IDictionary<string, object>. 尝试将类型与object.

于 2013-02-14T19:17:26.643 回答