我有一个简单的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);
});
});
现场演示:点击这里