【发布时间】:2021-05-30 09:02:04
【问题描述】:
假设我有这个 json:
"myObject" : {
"trans": {
"somekey": {
"name": "i want this value"
}
}
}
如何在不知道“somekey”名称的情况下访问“我想要这个值”?
看完this,我明白了可以通过索引来完成:
myObject.trans[0].name
但我收到了undefind。这是为什么呢?
【问题讨论】:
-
“trans”对象中是否始终只有一个键?
-
myObject.trans[0]表示您正在尝试获取数组中的第一项,但myObject.trans是一个对象。您无法获得对象的“第一个”键,因为在该上下文中这是一个没有意义的术语。 -
因为
trans不是数组而是对象。对象没有索引,它们有键。 -
@derpirscher 好的,所以说我不知道“someKey”的名称,但仍然想要“name”的值,我知道它是第一个,我该怎么办?跨度>
-
提示:
{ x: {y : ...} }转换为x.y,而{ x: [ { y: ... } ] }转换为x[0].y。注意{->.和[->[n]。您也可以使用x['y']而不是x.y但这就是因为对象也允许使用这种表示法。
标签: javascript arrays json object