views:

4126

answers:

3

I have a JSON as follows

{
  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]
}

I need to retrive the column names from the columns entry and then use it to search the rest of the entries using jquery. For example I get each column using

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

I need to loop throgh the rest of the entries using the values I get from the previous loop. ie without hardcoding COUNTRY_CODE or RULE_ID. What is the best way to do that using Jquery?

+4  A: 
jQuery.each(data.columns, function(i,column) {
    jQuery.each(data[column], function(i, row) {
    ....
    });
});
Paolo Bergantino
thanx..dat worked
sarego
+2  A: 

Some comments:

Paolo is right, you can use data[column] to get the list of values:

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

Do you need the columns information ? You could get the list of "columns" by iterating directly over data:

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

Not really a question but your JSON is not valid JSON, I hope this was only an example and not your real data:

{
  "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"]
}
Vincent Robert
ya that was just an example
sarego
A: 

@Vincent: could you explain how I could get for example COUNTRY_CODE and RULE_ID?

Francesco