w3schools objects ejemplos array javascript jquery json each

javascript - objects - jQuery looping.each() La clave/valor JSON no funciona



jquery each break (2)

Estoy teniendo problemas para realizar un bucle de la clave / valor de JSON mediante la función .each () de jQuery

Inicialmente tengo un JSON como este:

json = {"aaa":[ {"id":"1","data":"aaa1data"} ,{"id":"2","data":"aaa2data"} ], "bbb":[ {"id":"3","data":"bbb1data"} ] }

Y me gustaría recorrer todos los elementos clave / valor dentro de JSON (aaa y bbb) y recuperar los arreglos JSON internos para hacer un bucle de nuevo, así que intenté

$(json).each(function(index,data) { var zzz = data; $(zzz).each(function(index,data)) { //some other stuff } }

Sin embargo, descubrí que la primera función .each () considerará a todo json como una estructura única y no formará un bucle en la clave de su elemento. El parámetro de datos recibido de la función .each () es siempre el propio json original. Nunca puedo obtener la referencia que apunta a la matriz JSON interna de aaa y bbb.

¿Cuál sería el problema aquí y cómo debería hacer un bucle para todos los elementos clave / valor en un JSON por jQuery correctamente?


Como tienes un objeto, no un contenedor jQuery, necesitas usar una variante diferente de $.each()

$.each(json, function (key, data) { console.log(key) $.each(data, function (index, data) { console.log(''index'', data) }) })

Demo: Fiddle


Con un objeto JSON simple, no necesita jQuery:

for (var i in json) { for (var j in json[i]) { console.log(json[i][j]); } }