使用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} 

希望有所帮助。