2008-12-09 17 views
7

Tengo un JSON de la siguiente maneraanálisis de JSON utilizando jQuery

{ 
    columns  : [RULE_ID,COUNTRY_CODE], 
    RULE_ID  : [1,2,3,7,9,101,102,103,104,105,106,4,5,100,30], 
    COUNTRY_CODE : [US,US,CA,US,FR,GB,GB,UM,AF,AF,AL,CA,US,US,US] 
} 

necesito retrive los nombres de las columnas de la entrada columnas y luego utilizarlo para buscar el resto de las entradas utilizando jQuery. Por ejemplo I obtener cada columna usando

jQuery.each(data.columns, function(i,column)) 

necesito bucle throgh el resto de las entradas utilizando los valores que recibo desde el bucle anterior. es decir, sin codificación rígida COUNTRY_CODE o RULE_ID. ¿Cuál es la mejor manera de hacerlo con Jquery?

+0

nitpicking: este es un objeto de JavaScript, pero no es JSON (el formato de intercambio de datos basado en cadena) – orip

Respuesta

9
jQuery.each(data.columns, function(i,column) { 
    jQuery.each(data[column], function(i, row) { 
    .... 
    }); 
}); 
+0

thanx..dat funcionó – sarego

4

Algunos comentarios:

Paolo es correcto, se pueden utilizar los datos [columna] para obtener la lista de valores:

jQuery.each(data.columns, function(iCol,column) { 
    jQuery.each(data[column], function(iRow, row) { 
    .... 
    }); 
}); 

¿Necesita la información de las columnas? Se podría obtener la lista de las "columnas" iterando directamente sobre datos:

for(var column in data) 
{ 
    jQuery.each(data[column], function(i, row) { 
    .... 
    }); 
} 
No

realmente una pregunta, pero su JSON no es válido JSON, espero que esto era sólo un ejemplo y no los datos reales:

{ 
    "columns"  : ["RULE_ID","COUNTRY_CODE"], 
    "RULE_ID"  : [1,2,3,7,9,101,102,103,104,105,106,4,5,100,30], 
    "COUNTRY_CODE" : ["US","US","CA","US","FR","GB","GB","UM","AF","AF","AL","CA","US","US","US"] 
} 
+0

ya que era solo un ejemplo – sarego