Estoy intentando escribir un objeto JSON en un archivo JSON. El código se ejecuta sin errores, pero en lugar de escribir el contenido del objeto, 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)
'salida' es un objeto JSON y el archivo ya existe. Por favor, avíseme si necesita más información.
Respuestas:
Necesita secuenciar el objeto.
fuente
fs.writeFileSync('../data/phraseFreqs.json', JSON.stringify(output, null, 2));
Más: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…No creo que debas usar el enfoque síncrono, escribir datos de forma asincrónica en un archivo es mejor también especificar
output
si es un archivoobject
.Nota: Si
output
es una cadena, especifique la codificación y recuerde también lasflag
opciones: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?
fuente
Haga que json sea legible por humanos pasando un tercer argumento a
stringify
:fuente
Al enviar datos a un servidor web, los datos deben ser una cadena ( aquí ). Puede convertir un objeto JavaScript en una cadena con
JSON.stringify()
. Aquí hay un ejemplo de trabajo:Espero que pueda ayudar.
fuente
Aquí hay una variación, usando la versión de
fs
que usa promesas:fuente