2015-08-02 1 views
2

Интересно, если это возможно, если это так , как я могу перебрать это:Получить ребенка внутри ребенка в JSON/Итератеть через вложенный JSON с помощью jQuery/JS?

[ 
{ 
    "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?

ответ

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

Это не один объект 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} 

Надеется, что поможет.

+0

Я знаю. Я уже пробовал это, и он работает. Но что, если я не знаю, сколько subMovies внутри subMovies будет? Допустим, это может быть от 0 до 100 (или даже больше), но я не знаю, сколько. – Owiee1331

+0

Хорошо, я просто пытаюсь помочь, взгляните на другой ответ, это работа. –

+0

Да, спасибо за помощь. Сначала я не очень хорошо объяснил :) – Owiee1331

Смежные вопросы