zapętlanie jQuery.each () JSON klucz/wartość nie działa
Mam problemy z zapętleniem klucza / wartości JSON przez jQuery .funkcja each ()
Początkowo mam JSON taki:
json = {"aaa":[
{"id":"1","data":"aaa1data"}
,{"id":"2","data":"aaa2data"}
],
"bbb":[
{"id":"3","data":"bbb1data"}
]
}
I chciałbym przejrzeć wszystkie elementy klucza / wartości wewnątrz JSON (aaa i bbb) i odzyskać wewnętrzne tablice JSON do zapętlenia ponownie, więc próbowałem
$(json).each(function(index,data)
{
var zzz = data;
$(zzz).each(function(index,data))
{
//some other stuff
}
}
Jednak odkryłem, że pierwszy .każda funkcja () będzie traktowała cały json jako jedną strukturę i nie będzie pętli na kluczu swojego elementu.Dane parametr otrzymany z .każda funkcja () jest zawsze oryginalnym json. Nigdy nie mogę uzyskać odniesienia, które wskazuje na wewnętrzną tablicę JSON aaa i bbb.
Jaki byłby tu problem i jak prawidłowo zapętlić wszystkie elementy klucza / wartości w JSON przez jQuery?
32
2 answers
Ponieważ masz obiekt, a nie wrapper jQuery, musisz użyć innego wariantu $.każdy()
$.each(json, function (key, data) {
console.log(key)
$.each(data, function (index, data) {
console.log('index', data)
})
})
Demo: Fiddle
67
Author: Arun P Johny,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-24 18:53:42
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-24 18:53:42
Z prostym obiektem JSON, nie potrzebujesz jQuery:
for (var i in json) {
for (var j in json[i]) {
console.log(json[i][j]);
}
}
11
Author: Jeff Sisson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-14 04:53:07
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-14 04:53:07