2015-08-29 2 views
0

Я пишу приложение с использованием Intel XDK, и я использую Wordpress API для получения информации о пользователе. URL производит следующее:Looping через массив массивов, возвращаемый JSON API Call

{"status":"ok","0":{"id":2,"username":"testshop","shopname":"shopname","url":"","displayname":"testshop","nickname":"Test Shop","avatar":"80","longitude":"54.5591894,-1.237610600000039","gender":"Menswear","mensCats":"Tech Geek| Indie Lad| Vintage Gent| Casual Bloke","womensCats":""},"1":{"id":3,"username":"testShop2","shopname":"","url":"","displayname":"testShop2","nickname":"Test Shop 2","avatar":"","longitude":"54.5576249,-1.2475360999999338","gender":"Womenswear","mensCats":"","womensCats":"Indie Babe| Vintage Queen"}} 

У меня есть другой API вызов, который при вызове, возвращает только один массив, и я могу получить доступ к этой информации в порядке, так как я не перебрать. Тем не менее, я не уверен, как пройти через выше. Ниже приведен код, я использую, чтобы получить JSON:

$.getJSON(url, function(json){ 
     var name = json.nickname; 
    } 

Может кто-нибудь помочь с лучшим способом для перебора данных.

Спасибо

+0

То, что вы хотите получить из своего вложенного объекта (** не ** "массив массивов")? –

ответ

0

Поскольку ваш код не производит массив, а объект, то вы можете сделать что-то вроде этого:

$.getJSON(url, function(json){ 
     if(json.status === "ok") 
     { 
      var keys = Object.keys(json).filter(function(str){ return str !== "status" }); 
      for(var i = 0 ; i < keys.length; i++) 
      { 
       console.log(json[keys[i]]); 
      } 
     } 
} 

JSFIDDLE.

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