我将 JSON 追加到文件中。我正在使用 appendFile 追加到文件中。 我正在使用特定的 JSON 结构
我的问题是:如何将字符 '][' 更改为 ','
我想我需要使用 readFile 和函数 replace 吗?
需要帮助,提前致谢
var table = []
table.push({"executionDate":date,
"issueID":key,
"priority":{
"jira": priority,
"computed":score1
},
"expectedValue":{
"jira": expected,
"computed":score2
}
})
var json = JSON.stringify(table);
fs.appendFile('myjsonfile.json', json, 'utf8', function (err) {
if (err) console.error(err)
});
实际结果:
[{
"executionDate": 25 / 03 / 2019,
"issueID": 1,
"priority": {
"jira": important,
"computed": 10
},
"expectedValue": {
"jira": expected,
"computed": 20
}
}
]
[{
"executionDate": 26 / 03 / 2019,
"issueID": 2,
"priority": {
"jira": important,
"computed": 20
},
"expectedValue": {
"jira": expected,
"computed": 30
}
}]
预期结果:
[{
"executionDate": 25 / 03 / 2019,
"issueID": 1,
"priority": {
"jira": important,
"computed": 10
},
"expectedValue": {
"jira": expected,
"computed": 20
}
}
,
{
"executionDate": 26 / 03 / 2019,
"issueID": 2,
"priority": {
"jira": important,
"computed": 20
},
"expectedValue": {
"jira": expected,
"computed": 30
}
}]
最佳答案
使用 append 你不能这样做。阅读第一条评论,了解如何实现您的目标。
在这里,我提出另一种不符合您预期结果的方法。但是在注释中我不能输入代码块,这就是我将它放在这里的原因。
我建议每次您的 JSON 和换行符 "\n"
附加。然后,当您读取文件时,按换行符拆分并分别解析每一行:
var data = contents.trim()
.split(/\n/g)
.map(line => JSON.parse(line)[0]);
也就是说,如果您的数组中始终只有一项。
如果每个附加条目有多个项目:
var data = [];
contents.trim()
.split(/\n/g)
.map(JSON.parse)
.forEach(entry => data.push(...entry));
关于javascript - 用节点JS替换文件中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55373620/