gpt4 book ai didi

javascript - 读取未定义的 JSON 文件(异步)

转载 作者:行者123 更新时间:2023-12-03 02:47:07 26 4
gpt4 key购买 nike

您好,我正在尝试使用 nodejs 读取 JSON 文件,当我尝试访问其中一个属性时,它们返回为未定义。但是,当我 console.log 时,整个文件都会显示出来。

var keyFile;

function setKeys(callback){
const fs = require('fs');
const filePath = '../KEY.json';
fs.readFile(filePath, 'utf-8', (error, data) => {
if (error){
return console.log(error);
}
keyFile = data;
callback();
});
}

setKeys(()=>{
console.log(keyFile) // shows JSON
console.log(keyFile.google) //undefined
});

KEY.json:

{
"darksky": "ab",
"google": "cd"
}

最佳答案

看起来您没有在任何地方解析它。 data 将是一个字符串,因此更改:

keyFile = data;

keyFile = JSON.parse(data);
<小时/>

旁注:我强烈建议将数据作为参数传递给回调,而不是使用全局模块:

// *** No var keyFile; here

function setKeys(callback){
const fs = require('fs');
const filePath = '../KEY.json';
fs.readFile(filePath, 'utf-8', (error, data) => {
if (error){
return console.log(error);
}
callback(JSON.parse(data)); // ***
});
}

setKeys(keyFile => { // ***
console.log(keyFile.google);
});

关于javascript - 读取未定义的 JSON 文件(异步),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48051638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com