我将JSON附加到文件中,我使用appendFile附加到文件中。 我正在使用特定的JSON结构
我的问题是:如何用','更改字符'] ['
我认为我需要使用readFile并替换功能?
需要帮助,在此先感谢
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
}
}]
答案 0 :(得分:0)
使用添加,您将无法执行此操作。阅读第一条评论,以了解如何实现目标。
在这里,我提出了另一种方式,它与您的预期结果不符。但是在注释中我无法输入代码块,这就是为什么我将其放在此处。
我建议每次添加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));
答案 1 :(得分:0)
最后我找到了:
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)
});
fs.readFile('myjsonfile.json', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
var result = data.replace('][',',');
fs.writeFile('myjsonfile.json', result, 'utf8', function (err) {
if (err) return console.log(err);
});
});