मैं पाश डेटा से नोड का उपयोग करके JSON फ़ाइल लिखने की कोशिश कर रहा हूं, जैसे:
let jsonFile = require('jsonfile');
for (i = 0; i < 11; i++) {
jsonFile.writeFile('loop.json', "id :" + i + " square :" + i * i);
}
लूप में आउट .json है:
id :1 square : 1
लेकिन मैं इस तरह से (नीचे) आउटपुट फाइल चाहता हूं और यह भी कि अगर मैं उस कोड को फिर से चलाता हूं तो उसे उस नए आउटपुट को तत्वों के समान मौजूदा डेटा में जोड़ना चाहिए:
{
"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
}
]
}
मैं उसी फ़ाइल का उपयोग करना चाहता हूं जिसे मैंने पहली बार बनाया था लेकिन जब भी मैं उस कोड को चलाता हूं तो नए तत्वों को उसी फ़ाइल में जोड़ना चाहिए
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);
}
});