如何将外部JSON数据存储到JavaScript变量中
你现有的<script>引入JSON的方式本身就走不通,因为JSON不是可执行的JavaScript代码,浏览器加载后不会存储对应内容,还会直接抛出语法错误,自然也拿不到内容传给JSON.parse。
在不需要修改data.json的前提下,直接用Fetch API读取文件内容即可,实现代码如下:
fetch('./data.json') // 先获取到JSON的纯文本内容 .then(res => res.text()) .then(jsonStr => { // 这里直接把拿到的文本字符串传入JSON.parse即可 const mydata = JSON.parse(jsonStr); // 后续遍历逻辑示例 mydata.Data.forEach(accountItem => { console.log('账户ID:', accountItem.AccountId); console.log('金额:', accountItem.Amount); }) }) .catch(err => console.log('文件加载或解析失败:', err))
如果你不需要手动执行JSON.parse,可以直接调用响应对象的json()方法,会自动完成解析:
fetch('./data.json') .then(res => res.json()) .then(mydata => { // 直接使用解析完成的mydata对象即可 })
额外提醒:你贴出的data.json示例内容存在语法错误,Data数组的第一个对象后多了逗号且数组没有闭合,实际使用前请确保你的data.json是合法的JSON格式,否则解析会报错。
内容的提问来源于stack exchange,提问作者MeltingDog
相关产品推荐
相关产品推荐

