Ich versuche, ein JSON-Objekt in eine JSON-Datei zu schreiben. Der Code wird fehlerfrei ausgeführt, aber anstatt dass der Inhalt des Objekts geschrieben wurde, wird nur Folgendes in die JSON-Datei geschrieben:
[object Object]
Dies ist der Code, der tatsächlich das Schreiben übernimmt:
fs.writeFileSync('../data/phraseFreqs.json', output)
'output' ist ein JSON-Objekt und die Datei ist bereits vorhanden. Bitte lassen Sie mich wissen, wenn weitere Informationen erforderlich sind.
Antworten:
Sie müssen das Objekt stringifizieren.
quelle
fs.writeFileSync('../data/phraseFreqs.json', JSON.stringify(output, null, 2));
Weitere Informationen : developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…Ich glaube nicht , dass Sie den synchronen Ansatz verwenden sollte, asynchron Daten in eine Datei zu schreiben besser ist auch die stringify
output
wenn es eine istobject
.Hinweis: Wenn
output
es sich um eine Zeichenfolge handelt, geben Sie die Codierung an und merken Sie sich auch dieflag
Optionen:Synchrone Methode zum Schreiben von Daten in eine Datei hinzugefügt, aber bitte berücksichtigen Sie Ihren Anwendungsfall. Asynchrone oder synchrone Ausführung, was bedeutet das wirklich?
quelle
Machen Sie den json-Menschen lesbar, indem Sie ein drittes Argument an
stringify
folgende Adresse übergeben :quelle
Beim Senden von Daten an einen Webserver müssen die Daten eine Zeichenfolge sein ( hier ). Sie können ein JavaScript-Objekt mit in eine Zeichenfolge konvertieren
JSON.stringify()
. Hier ist ein Arbeitsbeispiel:Hoffe es könnte helfen.
quelle
Hier ist eine Variation, bei der die Version
fs
verwendet, die Versprechen verwendet:quelle