【问题标题】:Parsing JSON using JQuery使用 JQuery 解析 JSON
【发布时间】:2008-12-09 11:38:00
【问题描述】:

我有一个 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]
}

我需要从列条目中检索列名,然后使用它来使用 jquery 搜索其余条目。 例如,我使用

获取每一列
jQuery.each(data.columns, function(i,column))

我需要使用从上一个循环中获得的值循环遍历其余条目。即没有硬编码 COUNTRY_CODE 或 RULE_ID。 使用 Jquery 的最佳方法是什么?

【问题讨论】:

  • 挑剔:这是一个 JavaScript 对象,但不是 JSON(基于字符串的数据交换格式)

标签: javascript jquery json


【解决方案1】:
jQuery.each(data.columns, function(i,column) {
    jQuery.each(data[column], function(i, row) {
    ....
    });
});

【讨论】:

    【解决方案2】:

    一些cmets:

    Paolo 说得对,你可以使用 data[column] 来获取值的列表:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 2013-02-12
      • 2013-06-26
      • 2013-08-08
      • 2011-06-03
      • 1970-01-01
      相关资源
      最近更新 更多