使用jQuery / JS通过嵌套JSON在JSON / Iterate中获取子项内的子项?
我想知道这是否可能,如果是这样我怎么能循环这个:
[ { "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在子项中循环这个子项呢?
以下代码将从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}
这不是单个JSON对象。 您有数组包含JSON对象。 如果您想了解有关JSON的更多信息,请查看此文章 。
考虑到您的数组被命名为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}
希望有所帮助。