Javascript 从完全限定字符串获取JSON属性
假设我有一个JSON对象,如下所示:Javascript 从完全限定字符串获取JSON属性,javascript,json,Javascript,Json,假设我有一个JSON对象,如下所示: var a = { "b" : { "c" : 1 } } 当我知道字符串“b.c”时,有没有一种快速的方法可以到达c 我想我可以把绳子分成点,然后从点钻到c,但我希望有一个快速的方法一次完成 就像我希望的那样,可能var c=a[“b.c”]但这不起作用像你建议的那样使用拆分,这样怎么样 var a = { "b" : { "c" : 1 } } var n = "b.c".split("."); var x = a;
var a = {
"b" : {
"c" : 1
}
}
当我知道字符串“b.c”时,有没有一种快速的方法可以到达c
我想我可以把绳子分成点,然后从点钻到c,但我希望有一个快速的方法一次完成
就像我希望的那样,可能
var c=a[“b.c”]
但这不起作用像你建议的那样使用拆分,这样怎么样
var a = {
"b" : {
"c" : 1
}
}
var n = "b.c".split(".");
var x = a;
for(var i = 0; i < n.length; i++){
x = x[n[i]];
}
//x should now equal a.b.c
像您建议的那样使用拆分,这样如何:
var a = {
"b" : {
"c" : 1
}
}
var n = "b.c".split(".");
var x = a;
for(var i = 0; i < n.length; i++){
x = x[n[i]];
}
//x should now equal a.b.c
看。该链接还显示了如何为不支持ES5的浏览器实现垫片。请注意,此代码经过简化,假定对象中存在键
看。该链接还显示了如何为不支持ES5的浏览器实现垫片。请注意,此代码经过简化,假设对象中存在键。我的上帝。。。每天都有人问……Javascript对象!=JSON。你有哪一个问题?@dystroy这个问题不是关于解析JSON的。例如,它链接到这个问题:@dystroy:这个问题不是#14396647的重复。它可能需要一个提到
eval
的答案,但这绝对不是同一个问题。我的上帝。。。每天都有人问……Javascript对象!=JSON。你有哪一个问题?@dystroy这个问题不是关于解析JSON的。例如,它链接到这个问题:@dystroy:这个问题不是#14396647的重复。它可能需要一个提到eval
的答案,但这绝对不是同一个问题;不需要ES5请注意,如果您返回了undefined
,如果密钥的任何部分都是missing@JanDvorak:它实际上返回未定义,请尝试将“b.c”更改为“b.d”。虽然我很欣赏它在找到第一个未定义的时没有提前中断循环。我有一个剧本和编辑;-)@詹德沃夏克:我的编辑没有。跟上好零钱。然而,a={zero:0}呢;n=“zero.toString”
?:-)它应该返回一个函数,但不返回+1;不需要ES5请注意,如果您返回了undefined
,如果密钥的任何部分都是missing@JanDvorak:它实际上返回未定义,请尝试将“b.c”更改为“b.d”。虽然我很欣赏它在找到第一个未定义的时没有提前中断循环。我有一个剧本和编辑;-)@詹德沃夏克:我的编辑没有。跟上好零钱。然而,a={zero:0}呢;n=“zero.toString”
?:-)它应该返回一个函数,但不返回
var a = {
"b" : {
"c" : 1
}
}
var c = "b.c".split(".").reduce(function(obj, key) {
return obj[key];
}, a);
alert(c)