如何使用Json.NET?

时间:2016-11-02 15:16:28

标签: c# json razor

我试图遍历一些JSON数据并将其打印到屏幕上。这是JSON的样子:

JSON data

使用此代码,我可以循环浏览类别名称列表而不会出现任何问题:

dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(json);

foreach (var obj in jsonObj.categories)
{
    <p> <strong> @obj.name </strong> </p>
}

我无法弄清楚如何循环子类别。我尝试过这个,但我只是将错误 - 对象引用设置为对象的实例。

foreach (var obj in jsonObj.categories)
{
    <p> <strong> @obj.name </strong> </p>

    foreach (var subcat in jsonObj.subcategories)
    {
        <p> <strong> @obj.name </strong> </p>
    }
}

3 个答案:

答案 0 :(得分:4)

您正在尝试从父对象而不是子对象获取子类别:

fill_parent

答案 1 :(得分:1)

你在jsonObject上调用子类别,但你应该在ojb上调用它。

将您的代码更改为:

foreach (var subcat in obj.subcategories)
{
    <p> <strong> @obj.name </strong> </p>
}

答案 2 :(得分:1)

foreach (var obj in jsonObj.categories)
{
    <p> <strong> @obj.name </strong> </p>

    foreach (var subcat in obj.subcategories)
    {
        <p> <strong> @obj.name </strong> </p>
    }
}

你应该循环进入obj.subcategories