我正在一个项目中,该项目需要将数据从一个模块写入JSON文件,然后从另一个模块调用。但是,这不会发生,它返回undefined:1 SyntaxError: Unexpected end of JSON input
。
我需要为此使用同步功能。
这是显示我的问题的样本文件。
Index.js
const fs = require('fs');
const {idk} = require('./idk.js');
fs.writeFileSync('output.json', '', 'utf8'); //Clears the file
idk();// calls the module
var result = fs.readFileSync('output.json', 'utf8'); //reads the file
console.log(JSON.parse(result));//outputs a parsed file
Sample.js
const fs = require('fs');
module.exports.sample = function(){
var a = fs.readFileSync('output.json', 'utf8');//reads the file
var b = JSON.parse(a);// parses json data
console.log(b);// expected output {"instances": []}
b.instances.push('yo'); //pushes to array
var c = JSON.stringify(b);// stringify
fs.writeFileSync('output.json', c, 'utf8'); //supposed to write '{"instances": ['yo']}'
}