Ecrire un objet JSON dans un fichier JSON avec fs.writeFileSync
J'essaie d'écrire un objet JSON dans un fichier JSON. Le code s'exécute sans erreurs, mais au lieu que l'objet lui-même soit écrit, tout ce qui est écrit dans le fichier JSON est:
[object Object]
C'est le code qui fait réellement l'écriture:
fs.writeFileSync('../data/phraseFreqs.json', output)
'output' est un objet JSON, et le fichier existe déjà. Veuillez me faire savoir si plus d'informations sont nécessaires.
3 réponses
Je ne pense pas que vous devriez utiliser Synchronous
est la bonne, Asynchronously
l'écriture de données dans un fichier est mieux aussi stringify la output
un object
.
Remarque: Si output
est une chaîne, spécifiez l'encodage. et rappelez-vous aussi les options flag
.:
const fs = require('fs');
const content = JSON.stringify(output);
fs.writeFile("/tmp/phraseFreqs.json", content, 'utf8', function (err) {
if (err) {
return console.log(err);
}
console.log("The file was saved!");
});
Vous devez stringifier l'objet.
fs.writeFileSync('../data/phraseFreqs.json', JSON.stringify(output));
Rendre json lisible par l'homme avec:
fs.writeFileSync('../data/phraseFreqs.json', JSON.stringify(output,null,4));