2013-05-28 1 views
1

Я получаю этот файл JSON. Массивы путь может быть от 1 до 100,Подсчет массивов массива insinde в Json

{ 
"waypoints": [ 
    { 
     "path0": [ 
      { 
       "color": "#0000FF" 
      }, 
      { 
       "lat": "37.9875000", 
       "lon": "23.7609260" 
      }, 
      { 
       "lat": "37.9873130", 
       "lon": "23.7607460" 
      }, 
      { 
       "lat": "37.9873840", 
       "lon": "23.7604100" 
      } 
     ], 
     "path1": [ 
      { 
       "color": "#00FF00" 
      }, 
      { 
       "lat": "37.9873840", 
       "lon": "23.7604100" 
      }, 
      { 
       "lat": "37.9878040", 
       "lon": "23.7605670" 
      }, 
      { 
       "lat": "37.9882590", 
       "lon": "23.7607340" 
      } 
     ], 
     "path2": [ 
      { 
       "color": "#FF0000" 
      }, 
      { 
       "lat": "37.9882590", 
       "lon": "23.7607340" 
      }, 
      { 
       "lat": "37.9884690", 
       "lon": "23.7598760" 
      } 
     ] 
    } 
] 
} 

Как я могу узнать, сколько путь (РАТН0, path1, ..) массивы у меня есть внутри waypoints в JavaScript? Использование obj.waypoints.length возвращает 0.

спасибо.

ответ

1

На современном браузере вы можете использовать Object.keys:

var nbpaths = Object.keys(obj.waypoints[0]).length; 

Для совместимости с ie8, вы можете рассчитывать, как это:

var nbpaths = 0; 
for (var key in obj.waypoints[0]) nbpaths++; 
+0

спасибо за ваш ответ, но ваш код возвращает 1, а не 3 –

+0

Я не видел, чтобы ваш объект находился в массиве. Исправлено (добавлено [0]). –

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