read - Escribir objeto JSON en un archivo JSON con fs.writeFileSync
read write json file javascript (4)
Al enviar datos a un servidor web, los datos deben ser una cadena (
here
).
Puede convertir un objeto JavaScript en una cadena con
JSON.stringify()
.
Here
hay un ejemplo de trabajo:
var fs = require(''fs'');
var originalNote = {
title: ''Meeting'',
description: ''Meeting John Doe at 10:30 am''
};
var originalNoteString = JSON.stringify(originalNote);
fs.writeFileSync(''notes.json'', originalNoteString);
var noteString = fs.readFileSync(''notes.json'');
var note = JSON.parse(noteString);
console.log(`TITLE: ${note.title} DESCRIPTION: ${note.description}`);
Espero que pueda ayudar.
Estoy tratando de escribir un objeto JSON en un archivo JSON. El código se ejecuta sin errores, pero en lugar del contenido del objeto escrito, todo lo que se escribe en el archivo JSON es:
[object Object]
Este es el código que realmente escribe:
fs.writeFileSync(''../data/phraseFreqs.json'', output)
''output'' es un objeto JSON y el archivo ya existe. Avíseme si necesita más información.
Haga que el json human sea legible pasando un tercer argumento para
stringify
:
fs.writeFileSync(''../data/phraseFreqs.json'', JSON.stringify(output, null, 4));
Necesitas stringificar el objeto.
fs.writeFileSync(''../data/phraseFreqs.json'', JSON.stringify(output));
No creo que deba usar el enfoque sincrónico, escribir asíncronamente los datos en un archivo es mejor también clasificar en cadena la
output
si es un
object
.
Nota: Si la
output
es una cadena, especifique la codificación y recuerde también las opciones de marca:
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!");
});
Se agregó un método sincrónico para escribir datos en un archivo, pero considere su caso de uso. Ejecución asíncrona vs síncrona, ¿qué significa realmente?
const fs = require(''fs'');
const content = JSON.stringify(output);
fs.writeFileSync(''/tmp/phraseFreqs.json'', content);