如何在JavaScript中解析JSON数组?代码报错求助
解决JSON数组解析失败的问题
嘿,我帮你找出了代码里的两个核心问题,这就是你没法成功解析JSON的原因:
问题1:DOM选择器用错了
你写的document.querySelector("bird-list")是在找**标签名为<bird-list>的元素,但你的JSON数据放在了id为bird-list**的<script>模板里。正确的id选择器应该在前面加#,也就是#bird-list。
问题2:直接把DOM元素传给了JSON.parse
JSON.parse()只能处理字符串格式的JSON数据,你现在直接把选中的DOM元素传进去,它根本不知道该怎么解析。得先获取这个script标签里的文本内容,再传给解析方法。
修复后的完整代码
// 用id选择器找到对应的script模板元素 const listOfBirds = document.querySelector("#bird-list"); // 获取标签内的文本内容,再解析成JavaScript数组 const birdArray = JSON.parse(listOfBirds.textContent); console.log(birdArray);
这样修改后,你再运行代码,控制台应该就能正常输出包含4个鸟类对象的数组了。如果还有问题,再检查一下JSON格式有没有语法错误(不过你提供的JSON看起来是没问题的)。
内容的提问来源于stack exchange,提问作者user7041619
相关产品推荐
相关产品推荐

