Ich versuche, eine JSON-Datei mit einem Knoten aus Schleifendaten zu schreiben, z.
let jsonFile = require('jsonfile');
for (i = 0; i < 11; i++) {
jsonFile.writeFile('loop.json', "id :" + i + " square :" + i * i);
}
outPut in loop.json ist:
id :1 square : 1
Ich möchte jedoch eine Ausgabedatei wie diese (siehe unten). Wenn ich diesen Code erneut ausführe, sollte diese neue Ausgabe als Elemente in derselben vorhandenen JSON-Datei hinzugefügt werden:
{
"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
}
]
}
Ich möchte dieselbe Datei verwenden, die ich zum ersten Mal erstellt habe, aber jedes Mal, wenn ich diesen Code ausführe, sollten neue Elemente in derselben Datei hinzugefügt werden
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);
}
});
quelle
Bitte versuchen Sie das folgende Programm. Möglicherweise erwarten Sie diese Ausgabe.
Speichern Sie dieses Programm in einer Javascript-Datei, z. B. square.js.
Führen Sie dann das Programm an der Eingabeaufforderung mit dem Befehl aus
node square.js
Dabei wird die vorhandene Datei bei jeder Ausführung des Befehls einfach mit einem neuen Datensatz überschrieben.
Viel Spaß beim Codieren.
quelle
Sie sollten die Datei jedes Mal lesen, wenn Sie dem json eine neue Eigenschaft hinzufügen möchten, und dann die neuen Eigenschaften hinzufügen
quelle
Das obige Beispiel ist auch korrekt, aber ich gebe ein einfaches Beispiel:
quelle
Versuchen
quelle
Zum Formatieren gibt jsonfile eine
spaces
Option an, die Sie als Parameter übergeben können:Oder verwenden
jsonfile.spaces = 4
. Details hier lesen .Ich würde nicht empfehlen, jedes Mal in der Schleife in eine Datei zu schreiben, sondern das JSON-Objekt in der Schleife zu erstellen und in eine Datei außerhalb der Schleife zu schreiben.
quelle
Für synchronen Ansatz
quelle