2008-12-09 67 views
7

我有一个JSON如下解析JSON使用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] 
} 

我需要从列项retrive列名,然后用它来搜索使用jQuery条目的其余部分。 比如我得到使用我从以前的循环得到的值用

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

我需要循环throgh条目其余各列。即,无需硬编码COUNTRY_CODE或RULE_ID。 使用Jquery做这件事的最好方法是什么?

+0

挑剔:这是一个JavaScript对象,但它不是JSON(基于字符串的数据交换格式) – orip 2008-12-09 12:25:11

回答

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

thanx..dat工作 – sarego 2008-12-10 03:45:04

4

一些评论:

保罗是正确的,你可以使用数据[专栏]得到的值的列表:

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

你需要的列的信息?您可以通过直接在数据迭代得到“列”的列表:

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

不是一个真正的问题,但你的JSON是不是有效的JSON,我希望这只是一个例子,而不是你的真实数据:

{ 
    "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

你只是一个例子 – sarego 2008-12-10 03:45:44