我有一个简单的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]]);
};
}
但控制台显示“未定义”。
答案 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