Javascript 将数据写入空json文件
首先,我在第一次运行之前截断json文件 对于之后的每次运行,我希望继续附加到json文件。对于第一次运行,由于数据为空,我得到“SyntaxError:JSON输入的意外结束”Javascript 将数据写入空json文件,javascript,json,typescript,Javascript,Json,Typescript,首先,我在第一次运行之前截断json文件 对于之后的每次运行,我希望继续附加到json文件。对于第一次运行,由于数据为空,我得到“SyntaxError:JSON输入的意外结束” public jsondata = (newdata: string) => { var fs = require('fs'); fs.readFile('output.json', function (err, data) { let json:any = [];
public jsondata = (newdata: string) => {
var fs = require('fs');
fs.readFile('output.json', function (err, data) {
let json:any = [];
console.log('some data =' + data + '=');
if(data === '') {
json = JSON.parse(newdata);
json.push(newdata);
}
else {
json = JSON.parse(data);
json.push(newdata);
}
fs.writeFile('output.json', JSON.stringify(json, null, 4), (err) => {
if (err) throw err;
console.log('The json file has been saved');
});
});
}
而不是
fs.readFile('output.json', function (err, data) {
if(data === '') {
json = JSON.parse(newdata);
json.push(newdata);
}
原因:
如果output.json为空
从fs.readFile'output.json',函数err,数据{…},
数据不是空字符串
因此,在代码中,如果数据===始终为false
和
json=json.parsedata生成语法错误:json输入意外结束
fs.readFile('output.json', function (err, data) {
if(data === '') {
json = JSON.parse(newdata);
json.push(newdata);
}