Reddit搜索密钥和json数据中的值

时间:2017-08-21 10:38:16

标签: c# json json.net reddit

我希望有人可以帮助我。我是json的初学者,但我尝试构建一个程序,通过json文件从subreddit加载所有帖子。我不想将它保存在类中,因此从json创建类不是一个选项,因为我发现并非每个subreddit都有相同的结构。

作为我的例子,我使用/ r / wallpaper https://www.reddit.com/r/wallpaper/hot.json?count=25

这是我当前的代码,但在JObject

中搜索时,我总是得到一个null结果
{
    "_id" : ObjectId("599a910be15dad0b144363d7"),
    "createdAt" : ISODate("2017-08-21T07:51:39.987Z"),
    "updatedAt" : ISODate("2017-08-21T07:51:39.987Z"),
    "title" : "List",
    "categories": [
        {
            "mainCatId" : "1",
            "MainTitle" : "Cars",
            "subId" : "1.1",
            "subTitle" : "Tires"
        }
    ]
}

如何通过密钥轻松搜索所有值?例如,我可以从每个帖子中获取所有缩略图。 我正在使用Json.NET。

1 个答案:

答案 0 :(得分:0)

您需要找到孩子并循环播放。每个孩子都有自己的网址。

示例代码:

var json = "";
using (WebClient client = new WebClient())
{
    json = client.DownloadString("https://www.reddit.com/r/wallpaper/hot.json?count=25");
    JObject data = JObject.Parse(json);

    var children = data["data"]["children"];
    for (var i = 0; i < children.Count(); i++)
    {
        Console.WriteLine(children[i]["data"]["url"]);
    }
}