鉴于以下对象,我将如何动态访问两个级别的数据?
offset
我不应该按照以下方式做一些事情:
var object = {
"one": {
"0": "foo",
"1": "foo foo",
"2": "foo foo foo",
"3": "foo foo foo foo",
"4": "foo foo foo foo foo"
},
"two": {
"0": "bar",
"1": "bar bar",
"2": "bar bar bar",
"3": "bar bar bar bar",
"4": "bar bar bar bar bar"
}
};
输出是“foo foo foo foo”吗?
答案 0 :(得分:3)
是。 确实如此。
$ cat so2.js var object = { "one": { "0": "foo", "1": "foo foo", "2": "foo foo foo", "3": "foo foo foo foo", "4": "foo foo foo foo foo" }, "two": { "0": "bar", "1": "bar bar", "2": "bar bar bar", "3": "bar bar bar bar", "4": "bar bar bar bar bar" } };
var outer = "one", inner = "3";
console.log(object[outer][inner]);
$ node so2.js foo foo foo foo
答案 1 :(得分:0)
您可以尝试使用索引,但首先您需要获取键的索引"一个","两个" 。 类似的东西:
object[Object.keys(object)[0]][1] // "foo foo"
object[Object.keys(object)[1]][1] // "bar bar"
答案 2 :(得分:0)
以下是根据json对象访问所有值的代码:
for(var first in object)
{
for(var second in object[first])
{
console.log(object[first][second]);
}
}