我想知道这是否可行,如果是的话 我该怎么做呢:
[
{
"name": "Hello",
"views": 10,
"subMovie": [
{
"name": "World",
"views": 10,
"subMovie": [
{
"name": "Test 1",
"views": 10,
"subMovie": [
{
"name": "Test 2",
"views": 10,
"subMovie": [
{
"name": "Test 3",
"views": 10,
"subMovie": [],
"id": 5
}
],
"id": 4
}
],
"id": 3
}
],
"id": 2
}
],
"id": 1
}
]
到达最后一个孩子(subMovie)?
我想要全部访问它们并打印出来, 但是如何使用jQuery / JavaScript在子项中循环这个子项?
答案 0 :(得分:3)
以下代码将从movies
数组的最后一个元素开始。之后,它将通过选择它访问的每部电影的最后一个数组元素进入subMovie
树,直到没有subMovie
为止。
var movies = [
{
"name": "Hello",
"views": 10,
"subMovie": [
...
],
"id": 1
}
];
var m = movies[movies.length - 1];
while(m.subMovie.length >= 1) {
console.log(m.name);
m = m.subMovie[m.subMovie.length - 1];
}
console.log(m); //Object {name: "Test 3", views: 10, subMovie: Array[0], id: 5}
答案 1 :(得分:1)
这不是单个JSON对象。您有数组包含JSON对象。如果您想了解有关JSON的更多信息,请查看 this article 。
考虑到您的数组名称为data
,如下所示:
var data = [
{
"name": "Hello",
"views": 10,
"subMovie": [
{....
}
]
使用以下代码:
data[0].subMovie[0].subMovie[0].subMovie[0].subMovie[0];
那将返回:
Object {name: "Test 3", views: 10, subMovie: Array[0], id: 5}
希望有所帮助。