如何获取json对象中属性的值

时间:2019-04-20 14:45:53

标签: javascript json attributes

如何使用字符串正确获取对象的值?

我有以下代码:

let o = { dispatcher: { initials: 'abc' } }
o["dispatcher.initials"]
# undefined

我已经得到的字符串就是这样的“ dispatcher.initials”。我不能使用这样的字符串吗?

我希望得到值abc

2 个答案:

答案 0 :(得分:0)

如果要创建一个从路径获取属性的函数,则可以使用split()reduce()

let o = { dispatcher: { initials: 'abc' } }

const getVal = (obj,path) => path.split('.').reduce((ac,a) => (ac || {})[a],obj);

console.log(getVal(o,"dispatcher.initials"))

答案 1 :(得分:0)

您可以split字符串和reduce遍历数组。

let o = { dispatcher: { initials: 'abc' } };
let str = "dispatcher.initials";

let result = str.split(".").reduce((c,v)=> c != null ? c[v] : null ,o);

console.log(result);