如何使用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]]);
   };
}

但控制台显示"未定义"。

您必须考虑循环中x索引变量。

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

在相关的说明中,键可以通过以下方式实现

dataKeys = Object.keys(data[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);
    });
});

现场演示:点击这里

最新更新