gpt4 book ai didi

javascript - Node JS 从文件中加载 JSON 数组

转载 作者:搜寻专家 更新时间:2023-10-31 22:55:44 24 4
gpt4 key购买 nike

一个 json 文件已经创建了,打印的很漂亮

[
{
"name": "c",
"content": 3,
"_prototype": "item"
},
{
"name": "d",
"content": 4,
"_prototype": "item"
}
]

我可以用它读取文件

var fs = require('fs');
var arrayPath = './array.json';

function fsReadFileSynchToArray (filePath) {
var data = JSON.parse(fs.readFileSync(filePath));
console.log(data);
return data;
}

var test = arr.loadFile(arrayPath);
console.log(test);

但输出顺序相反

[]
[ { name: 'c', content: 3, _prototype: 'item' },
{ name: 'd', content: 4, _prototype: 'item' },]

显然第二个输出显示为第一个。我实际上使用了同步文件读取来避免这种空数据。有没有办法真正确保在继续之前将 JSON 文件完全读入数组?

[更新]arr 是一个使用

的模块
function loadFile(filePath){
var arrLines = [];
fs.stat(filePath, function(err, stat) {
if(err == null) {
arrLines = fsReadFileSynchToArray(filePath);
} else if(err.code == 'ENOENT') {
console.log('error: loading file ' + filePath + ' not found');
} else {
console.log('error: loading file', err.code);
}
});
return arrLines;
}

返回值

最佳答案

只要该文件位于您的项目文件夹(即配置文件)中,您就可以直接在 NodeJS 中同步加载它。

var test = require('./array.json');

然后内容将在下一个执行的句子中加载到您的变量中。

你可以尝试console.log它,它会打印:

[ { name: 'c', content: '3', _prototype: 'item' },
{ name: 'd', content: '4', _prototype: 'item' } ]

完全按照文件的顺序。

关于javascript - Node JS 从文件中加载 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39981192/

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