繁体   English   中英

在原版 javascript 中导入 json 文件有问题吗?

[英]Problem with import json files in vanilla javascript?

我尝试在 javascript 文件中导入 json 文件(data.json)。 这是我的代码:

 function grabData() { fetch("./data.json").then(response => { return response.json().then(function(data) { var dataExport = data; console.log(dataExport) }); }) } grabData() console.log(dataExport)

但是,变量 (dataExport) 仅适用于 function。

我如何在我的 function 之外访问这个变量?

Vanilla JavaScript 不会原生地将 JSON 解析为 object。 您需要使用 JSON 解析方法将 JSON 解析为 object 。

  • 此外,我建议不要使用“var”并尝试将变量提升到 function 之外。 “dataexport”应该是 function 内部的一个内部变量。 如果您希望 function 将值分配给变量,请将其作为参数传入。

https://www.w3schools.com/js/js_json_parse.asp

解析后,您可以将其读取为 object。

let dataExport;

function grabData(returnData) {
    fetch("./data.json")
    .then(response => {
        return response.json().then(function(data) {
            returnData = JSON.parse(data);
            console.log(returnData);
        });
    })

}

grabData(dataExport);

要访问 function 之外的数据,您必须将其返回:

function grabData() {
  return fetch("./data.json")
    .then(response => response.json());
}
//or
async function grabData() {
  const response = await fetch("./data.json");
  return await response.json();
}

grabData().then(data => console.log(data));

//or
let data = await grabData();
console.log(data);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM