Javascript 是否有更好的方法从Json对象中提取嵌套值

Javascript 是否有更好的方法从Json对象中提取嵌套值,javascript,typescript,Javascript,Typescript,我一般提取val2,如下所示,它是有效的,但有没有更轻的方法 let myJsonObject = { 'key1': {'key1.1': 'value1.1'}, } let val1 = myJsonObject['key1']; let key = Object.keys(val1)[0]; let val2 = val1[key]; myJsonObject['key1']['key1.1']给出了相同的结果,但这本身并没有任何作用 如果您能够解释为什么需要读取对象中的嵌套字

我一般提取val2,如下所示,它是有效的,但有没有更轻的方法

let myJsonObject = {
    'key1': {'key1.1': 'value1.1'},
}
let val1 = myJsonObject['key1'];
let key = Object.keys(val1)[0];
let val2 = val1[key];

myJsonObject['key1']['key1.1']
给出了相同的结果,但这本身并没有任何作用

如果您能够解释为什么需要读取对象中的嵌套字段,以便我们可以讨论更一般、更有意义的解决方案,这将对您更有趣、更有用


一些信息可能是此对象的来源以及它可以获得哪些可能的值/格式。

myJsonObject.key1['key1.1']应该也可以。如何在
字符串格式中指定
嵌套路径
,然后
拆分它
,然后使用
reduce
获取值,如果对象嵌套较深。
object.values(myJsonObject['key1'])[0]
?现在还不清楚你所说的打火机是什么意思以及你想做什么。您想要像lodash的
\uux.get
函数那样的路径选择器,还是只想能够迭代对象的值?您需要一个更好(相当复杂)的示例来说明您正在尝试执行的操作,该操作会变得过于冗长,需要简化。例如:
demo={key:{val:{json:{true'}}}
,并且您有一个路径,例如
path='key.val.json'
,然后通过传递对象来减少它。这样:
path.split('.').reduce((acc,elem)=>elem&&acc[elem],demo)