读取嵌套对象

Read nested object

本文关键字:对象 嵌套 读取      更新时间:2023-09-26

我有一个类似的对象

var JSON_Object = {
"Diabites": [
    {
        "Day1": [
            {
                "Breakfast": [
                    {
                        "food1": "Bread",
                        "food2": "Tea",
                        "food3": "Edd"
                    }
                ]
            },
            {
                "Lunch": [
                    {
                        "food1": "Bread",
                        "food2": "Tea",
                        "food3": "Edd"
                    }
                ]
            },
            {
                "Dinner": [
                    {
                        "food1": "Bread",
                        "food2": "Tea",
                        "food3": "Edd"
                    }
                ]
            }
        ]
    },
    {
        "Day2": [
            {
                "Breakfast": [
                    {
                        "food1": "Bread",
                        "food2": "Tea",
                        "food3": "Edd"
                    }
                ]
            },
            {
                "Lunch": [
                    {
                        "food1": "Bread",
                        "food2": "Tea",
                        "food3": "Edd"
                    }
                ]
            },
            {
                "Dinner": [
                    {
                        "food1": "Bread",
                        "food2": "Tea",
                        "food3": "Edd"
                    }
                ]
            }
        ]
    }
]
}

现在我如何使用一些循环来打印出这个文件。我尝试了以下

alert(JSON_Object.Diabites.length); // Return 1 
alert(JSON_Object.Diabites[0].Day1.length); // Return 3

但是有不同的名称,比如Day1, Day2, Day3 ....,那么我如何在循环中更改该部分,比如

for(var i=0; i<JSON_Object.Diabites.length;i++)
{
    alert(JSON_Object.Diabites[i].Day1.length);
}

更新JSON对象

var JSON_Object = {
"Diabites": [
    {
        "Day1": [
            {
                "Breakfast": [
                    {
                        "food1": "Bread"
                    },
                    {
                        "food2": "Tea"
                    },
                    {
                        "food3": "Edd"
                    }
                ]
            },
            {
                "Lunch": [
                    {
                        "food1": "Bread"
                    },
                    {
                        "food2": "Tea"
                    },
                    {
                        "food3": "Edd"
                    }
                ]
            },
            {
                "Dinner": [
                    {
                        "food1": "Bread"
                    },
                    {
                        "food2": "Tea"
                    },
                    {
                        "food3": "Edd"
                    }
                ]
            }
        ]
    },
    {
        "Day2": [
            {
                "Breakfast": [
                    {
                        "food1": "Bread"
                    },
                    {
                        "food2": "Tea"
                    },
                    {
                        "food3": "Edd"
                    }
                ]
            },
            {
                "Lunch": [
                    {
                        "food1": "Bread"
                    },
                    {
                        "food2": "Tea"
                    },
                    {
                        "food3": "Edd"
                    }
                ]
            },
            {
                "Dinner": [
                    {
                        "food1": "Bread"
                    },
                    {
                        "food2": "Tea"
                    },
                    {
                        "food3": "Edd"
                    }
                ]
            }
        ]
    }
]
};

如果你想在json的键上循环,你可以像一样

for(var key in JSON_Object.Diabites[0]){
  //key will be Day1,Day2 etc.
  alert(JSON_Object.Diabites[0][key].length);
}

但是在您共享的json结构中,您必须使用

for(var i=0;i<JSON_Object.Diabites.length;i++) {
    for(var key in JSON_Object.Diabites[i]) {
      //key will be Day1,Day2 etc.
      alert(key);
      alert(JSON_Object.Diabites[i][key].length);
    }
}

如果你感兴趣的话,这里有一把小提琴。