Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Json.NET循环子节点?_C#_Json_Razor - Fatal编程技术网

C# 如何使用Json.NET循环子节点?

C# 如何使用Json.NET循环子节点?,c#,json,razor,C#,Json,Razor,我试图循环浏览一些JSON数据并将其打印到屏幕上。以下是JSON的外观: 使用这段代码,我能够循环浏览类别名称列表,而不会出现任何问题: dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(json); foreach (var obj in jsonObj.categories) { <p> <strong> @obj.name </strong> </p>

我试图循环浏览一些JSON数据并将其打印到屏幕上。以下是JSON的外观:

使用这段代码,我能够循环浏览类别名称列表,而不会出现任何问题:

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

foreach (var obj in jsonObj.categories)
{
    <p> <strong> @obj.name </strong> </p>
}
动态jsonObj=Newtonsoft.Json.JsonConvert.DeserializeObject(Json); foreach(jsonObj.categories中的var obj) { @obj.name

} 但我不知道如何循环子类别。我尝试了这个,但是我只是得到了一个错误-对象引用没有设置为对象的实例

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

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

foreach(jsonObj.子类别中的var子类别) { @obj.name

} }
您在jsonObject上调用子类别,但应该在ojb上调用它

将代码更改为:

foreach (var subcat in obj.subcategories)
{
    <p> <strong> @obj.name </strong> </p>
}
foreach(对象子类别中的变量子类别)
{
@obj.name

}
您在jsonObject上调用子类别,但应该在ojb上调用它

将代码更改为:

foreach (var subcat in obj.subcategories)
{
    <p> <strong> @obj.name </strong> </p>
}
foreach(对象子类别中的变量子类别)
{
@obj.name

}
foreach(jsonObj.categories中的var obj)
{
@obj.name

foreach(对象子类别中的var子类别) { @obj.name

} }
您应该循环到
obj.subcategories

foreach(jsonObj.categories中的var obj)
{
@obj.name

foreach(对象子类别中的var子类别) { @obj.name

} }

您应该循环到
对象子类别

您试图从父对象而不是子对象获取子类别:

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

    foreach (var subcategory in category.subcategories) // <= here is the key.
    {
         <p> <strong> @subcategory.name </strong> </p>
    }
}
foreach(jsonObj.categories中的变量类别)
{
@category.name


foreach(category.subcategories中的var subcategory)//您试图从父对象而不是子对象获取子类别:

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

    foreach (var subcategory in category.subcategories) // <= here is the key.
    {
         <p> <strong> @subcategory.name </strong> </p>
    }
}
foreach(jsonObj.categories中的变量类别)
{
@category.name


foreach(category.subcategories中的var subcategories)//您有一个输入错误:在第二个循环中,您应该在obj.subcategories中使用
var subcategories
您有一个输入错误:在第二个循环中,您应该在obj.subcategories中使用
var subcategories。此外,如果您将“obj”重命名为“categories”,您将更容易遵循流程。此外,如果您将“obj”重命名为“类别”,您将更容易遵循流程。