嗨,我有一个json数据,我想用索引获取该对象。?我怎样才能做到这一点 ? 我的json数据是
[{
"rec": ["act1","act2","act3"],
"rec2": ["act11","act23","act4"]
}]
当我传递索引1时,我需要得到rec2。请帮忙
答案 0 :(得分:1)
使用Object.keys
var obj = [{
"rec": ["act1","act2","act3"],
"rec2": ["act11","act23","act4"]
}];
obj[0][Object.keys(obj[0])[1]]
请参阅fiddle
答案 1 :(得分:0)
您可以修改Object.keys()
以获取相应的命名索引:
var obj = [{
"rec": ["act1","act2","act3"],
"rec2": ["act11","act23","act4"]
}];
var arr = obj[0][Object.keys(obj[0])[1]];
console.log(arr); // === ["act11", "act23", "act4"]
答案 2 :(得分:0)
你可以通过这种方式实现它。
var json =[{
"rec": ["act1","act2","act3"],
"rec2": ["act11","act23","act4"]
}]
var index = 1;
var keys = Object.keys(json[0]);
console.log(json[0][keys[index]]);
答案 3 :(得分:0)
不是最漂亮的方式,而且在索引很大的情况下获取项目效率不高!
你宁愿选择上面描述的Object.keys()
方法,
这里包括它只是为了表明另一种方法。
var a = eval("[{\"rec\": [\"act1\",\"act2\",\"act3\"], \"rec2\": [\"act11\",\"act23\",\"act4\"]}]");
var cnt = 2;
var second = null;
for(var itm in a[0])
{
if(--cnt == 0){
second = itm;
break;
}
}
alert(second);