鉴于以下情况:
var a = JSON.parse('{"fst":"data1","snd":{"ind2":"data2"}}');
var index = "fst";
var res = a[index]; //res = data1
var index2 = "????";
var res2 = a[index2]; //res = data2
我应该穿什么index2
so res2
equals data2
?
我正在寻找一种通用语法,只需修改索引字符串即可在解析的 json 的任何级别获取元素。
(我正在循环遍历来自 json 派生对象的不同位置/级别的元素列表来构建表)
任何帮助将非常感激
你需要一个函数来做到这一点
function deepAccess( obj, str ) {
var parts = str.split("."),
cur = obj;
for( var i = 0; i < parts.length; ++i ) {
cur = cur[parts[i]];
}
return cur;
}
var index = "fst";
deepAccess( a, index ); //"data1"
index = "snd.ind2";
deepAccess( a, index ); //"data2"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)