Node.js按键名访问JSON数组元素返回undefined问题咨询
问题原因
sns.Trigger.Dimensions 是数组类型,而非直接可通过键名索引的对象,因此你直接使用['ApiName']作为下标取值自然返回undefined。从你给出的JSON结构可以看到,数组内的每一项才是包含name和value两个属性的对象,你需要先匹配到name为ApiName的项,再提取对应value。
解决代码
场景1:确认Dimensions数组永远只有1项
可直接通过下标取第0项的值:
var sns_DimensionsValue = sns.Trigger.Dimensions[0].value console.log(sns_DimensionsValue)
场景2:Dimensions数组可能有多个项,需按name匹配
使用数组find方法匹配目标项后再取值:
const targetDimension = sns.Trigger.Dimensions.find(item => item.name === 'ApiName') const sns_DimensionsValue = targetDimension ? targetDimension.value : '' console.log(sns_DimensionsValue)
执行后即可正常打印目标值zabbixPy-API。
内容的提问来源于stack exchange,提问作者user630702
相关产品推荐
相关产品推荐

