gpt4 book ai didi

arrays - NodeJS fs - 无法读取外部 json 文件

转载 作者:太空宇宙 更新时间:2023-11-03 22:49:14 25 4
gpt4 key购买 nike

我正在尝试使用 fs 读取外部 json 文件,然后记录它,但它不起作用。在我的 json 文件中,我只有一个数组可供读取:

{
"tags": [ "blah", "blah1", "etc..."
]
}

我正在使用异步 readFile 函数来读取它

...
const tagsjson = require('../tags.json');
var tags;
...

fs.readFile(tagsjson, 'utf8', function(err,data){
if(err) throw err;

tags = data;
})
console.log(tags)

我不知道是什么问题,我尝试了 JSON.parse(data) 但它也不起作用,而且我使用原始数据,因为我想在读取标签后将其发送给客户端。

最佳答案

您读取文件的方式错误,错误如下

const tagsjson = require('../tags.json');

require 实际上会返回导出的内容,它将返回一个对象,而 readFile 函数的第一个参数是一个字符串

fs.readFile('../tags.json', 'utf8', function(err,data){
if(err) throw err;

除了处理异步操作之外,您还可以处理两个选项

  • 回调
  • promise

为了 promise

const promise = new Promise((resolve, reject) => {
fs.exists('../tags.json', (exists) => {
if (exists) {
fs.readFile('../tags.json', (err, data) => {
if(err) {
console.log(err);
reject(err);
} else resolve(data);
});
} else {
reject('File Does Not Exist!');
}
});
});

promise
.then(data => {
console.log(data);
})
.catch(err => {
console.log(err);
});

关于arrays - NodeJS fs - 无法读取外部 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55516408/

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