2011-05-05 39 views
1

陣列橫移JSON這是我的外部JSON:當對象值是一個對象與jQuery

{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 3}, "objects": [{"body": "this is copy text", "id": "1", "pub_date": "2011-05-04T12:23:26", "resource_uri": "/api/v1/entry/1/", "slug": "test-title-number-one", "title": "test title number one", "user": "/api/v1/user/1/"}, {"body": "this is the second test text", "id": "2", "pub_date": "2011-05-04T15:01:16", "resource_uri": "/api/v1/entry/2/", "slug": "second-test", "title": "Second test", "user": "/api/v1/user/1/"}, {"body": "item three", "id": "3", "pub_date": "2011-05-05T12:04:04", "resource_uri": "/api/v1/entry/3/", "slug": "item-3", "title": "item 3", "user": "/api/v1/user/1/"}]} 

這是我的JS:

$.ajax({url: "/api/v1/entry/?format=json", 
dataType: "json", 
success: function(json) { 
    $.each(json.objects[0], function(key, value) { 
     alert(key + ': ' + value); 
    }); 
} 
}); 

我可以索引與$陣列中的對象.each(json.objects [0] ...,但我需要能夠擊中數組中的每個對象,我不知道爲什麼$ .each(json.objects ...不起作用。謝謝!

回答

5

只是做一個正常的JS循環:

for(var i = 0; i < json.objects.length; ++i) 
{ 
    $.each(json.objects[i], function(key, value) { 
     alert(key + ': ' + value); 
    }); 
} 
+0

OMG謝謝! – tomwolber 2011-05-05 18:47:26

+0

@tomwolber不客氣,先生。 – Chad 2011-05-05 18:48:00

2

對於一個完整的解決方案的jQuery,你可以這樣做:

$.each(json.objects, function(key, value) { 
    $.each(json.objects[key], function(key, value){ 
     alert(key + ': ' + value); 
    }) 
}); 

的jsfiddle演示:http://jsfiddle.net/LGC9X/要注意,很多警報:P

+0

+1對於純粹的jQuery,實例OP要保持它的同質性。 – Chad 2011-05-05 19:08:32

+0

謝謝,乍得:) – 2011-05-05 19:30:36