2010-10-25 19 views
10

Aşağıda görüldüğü gibi aşağıdaki json'um var. TOP1, TOP2 değerlerini okumaya çalışıyorum. Bunu nasıl yapacağımdan biraz emin değilim.jquery okuma yuvalanmış json

Aşağıdakileri kullanıyorum .. Ama bu bana sadece TOP1 ve TOP2 için yuvalanmış nesnelere sahip bir nesne alıyor. TOP1 ve TOP2 değerlerini nasıl alabilirim?

$.getJSON('http://localhost/data/menufixed.json', 
    function(data) {    
     $.each(data, function(entryIndex, entry) { 
      var html = '<li class="top-level">'; 

     }); 
    }); 

Ve

{ 
"actions" : [ 
    { 
     "action": "TOP1", 
     "subaction": [ 
      { 
       "name": "A" 
      }, 
      { 
       "name": "B" 
      }, 
      { 
       "name": "C" 
      } 
     ] 
    }, 
    { 
     "action": "TOP2", 
     "subaction": [ 
      { 
       "name": "X" 
      }, 
      { 
       "name": "Y" 
      } 
     ] 

cevap

11

Eğer .actions olsa döngü istediğiniz gibi görünüyor altındaki veri, bu nedenle bu değiştirin: Buna

$.each(data, function(entryIndex, entry) { 
    var html = '<li class="top-level">'; 
}); 

:

$.each(data.actions, function(entryIndex, entry) { 
    var html = '<li class="top-level">' + this.action + '</li>'; 
}); 

'i kullanmaşimdi, bu nesne nesnesinin içinden geçiyorsunuz ve bu nesneleri .action özelliğine sahip olanlardır, örneğin: "TOP1" ve "TOP2".

+0

Bu, sonradan teşekkürler Nick! ABC/YX verilerine nasıl erişebilirim? – wmitchell

+4

@imerez - * Inside * yukarıda "$ .each()" geri araması yaparsanız, $ .each (this.subaction, function() {alert (this.name);}); A, B, C, vb - burada test: http://www.jsfiddle.net/nick_craver/mHvvA/2/ –

+0

Teşekkürler sonra ne Im sonra .. mükemmel kaynak jsfiddle için teşekkürler: P – wmitchell

İlgili konular