Tôi đang cố gắng viết tệp JSON bằng cách sử dụng nút từ dữ liệu vòng lặp, ví dụ:
let jsonFile = require('jsonfile');
for (i = 0; i < 11; i++) {
jsonFile.writeFile('loop.json', "id :" + i + " square :" + i * i);
}
outPut trong loop.json là:
id :1 square : 1
nhưng tôi muốn tệp đầu ra như thế này (bên dưới) và nếu tôi chạy lại mã đó thì nên thêm đầu ra mới đó dưới dạng các phần tử trong cùng một tệp JSON hiện có:
{
"table":[
{
"Id ":1,
"square ":1
},
{
"Id ":2,
"square ":3
},
{
"Id ":3,
"square ":9
},
{
"Id ":4,
"square ":16
},
{
"Id ":5,
"square ":25
},
{
"Id ":6,
"square ":36
},
{
"Id ":7,
"square ":49
},
{
"Id ":8,
"square ":64
},
{
"Id ":9,
"square ":81
},
{
"Id ":10,
"square ":100
}
]
}
Tôi muốn sử dụng cùng một tệp mà tôi đã tạo lần đầu tiên nhưng bất cứ khi nào tôi chạy mã đó, các phần tử mới sẽ thêm vào cùng một tệp đó
const fs = require('fs');
let obj = {
table: []
};
fs.exists('myjsonfile.json', function(exists) {
if (exists) {
console.log("yes file exists");
fs.readFile('myjsonfile.json', function readFileCallback(err, data) {
if (err) {
console.log(err);
} else {
obj = JSON.parse(data);
for (i = 0; i < 5; i++) {
obj.table.push({
id: i,
square: i * i
});
}
let json = JSON.stringify(obj);
fs.writeFile('myjsonfile.json', json);
}
});
} else {
console.log("file not exists");
for (i = 0; i < 5; i++) {
obj.table.push({
id: i,
square: i * i
});
}
let json = JSON.stringify(obj);
fs.writeFile('myjsonfile.json', json);
}
});