如何解析对象内嵌套的数组并正确获取priority字段解决undefined报错
报错原因
- 遍历对象错误:你需要的
priority字段存放在最外层对象的results数组中,你直接遍历最外层的jsonString对象,无法匹配到对应层级的字段 - 语法错误:
alert是JS内置函数,调用时必须用括号包裹参数,你当前写的alert jsonString[index].priority不符合语法规范 - 额外说明:你的变量命名为
jsonString但实际存储的是普通JS对象,不是JSON字符串,这个命名不影响运行,但建议调整避免后续混淆
修复方案
1. 保留jQuery $.each 写法的修复代码
// 直接遍历results数组即可 $.each(jsonString.results, function (index, val) { alert(val.priority); });
2. 原生JS forEach 写法
jsonString.results.forEach(item => { alert(item.priority); })
3. 简化写法(如果确认results数组永远只有1个元素)
不需要循环,直接按索引取对应字段即可:
alert(jsonString.results[0].priority);
内容的提问来源于stack exchange,提问作者Yuvraj
相关产品推荐
相关产品推荐

