如何使用JavaScript解析含嵌套对象数组的JSON并提取指定字段值
JavaScript解析嵌套数组JSON的修正方案
现有代码存在的问题
- 缺少JSON字符串转JavaScript对象的步骤:如果原始输入为JSON字符串格式,直接读取内部字段会触发报错
- 循环边界设置错误:
jsonString.length是JSON字符串的字符总长度,不是individualTicketList数组的元素数量,会导致遍历次数异常甚至数组越界报错 - 取值字段不匹配:需求为获取
Subject字段值,原代码读取的是DueByDate字段
修正后的完整代码
// 示例:原始JSON字符串 const rawJson = `{ "individualTicketList": [{ "TicketID": 58, "ResponderID": 1, "Subject": "test sub", "DueByDate": "2021-10-12" }, { "TicketID": 59, "ResponderID": 1, "Subject": "test", "DueByDate": "2021-10-12" }] }`; // 第一步:将JSON字符串转换为JS对象 const ticketData = JSON.parse(rawJson); // 第二步:遍历individualTicketList数组 for(let i = 0; i < ticketData.individualTicketList.length; i++) { // 读取Subject字段展示 alert(ticketData.individualTicketList[i].Subject); }
更简洁的forEach写法
如果不需要兼容非常旧的浏览器,可以用forEach方法简化遍历逻辑:
ticketData.individualTicketList.forEach(item => { alert(item.Subject); })
内容的提问来源于stack exchange,提问作者Yuvraj
相关产品推荐
相关产品推荐

