如何使用jquery遍历未知的json密钥

时间:2014-02-26 16:23:19

标签: jquery json

我有一个简单的JSON对象,但问题是密钥可以更改,这意味着我无法使用其密钥名称调用数据。我的目标是以表格布局呈现数据。

这是我获取数据的一个例子:

[{"domain":"animals","country":"Argentina"}]

但也可能是我得到了这个结果

[{"fruits":"apple","country":"Argentina", "value": "1234"}]

现在我可以找到如何获得密钥:

var dataKeys = []
for( var key in data[ 0 ] ) {
  dataKeys.push( key );
  console.log(key);
}

很好,现在我有列的名称。 但是从这里我不知道如何获取每个键的值。

var dataKeys = []
for( var key in data[ 0 ] ) {
  dataKeys.push( key );
  //console.log(key);
}
//console.log(result.join());
for( var x in data ) {
   for (var i in dataKeys) {
      console.log(data[dataKeys[i]]);
   };
}

但控制台显示“未定义”。

2 个答案:

答案 0 :(得分:1)

你必须考虑循环中的索引变量x

for( var x in data ) {
   for (var i in dataKeys) {
      console.log(data[x][dataKeys[i]]);
   };
}

在相关说明中,键可以通过

实现
dataKeys = Object.keys(data[0])

希望这会有所帮助。

答案 1 :(得分:0)

如果我没错,试试这个 -

var json = '[{"domain":"animals","country":"Argentina"},   {"fruits":"apple","country":"Argentina", "value": "1234"}]';
var data= JSON.parse(json);
$.each(data,function(key,val){
    alert("Main object at Index: "+ key);
    $.each(val,function(i,v){
        alert(i + ': ' + v);
    });
});

现场演示:click here