Esto parece un problema resuelto, pero no puedo encontrar una solución.
Básicamente, leo un archivo JSON, cambio una clave y escribo el nuevo JSON en el mismo archivo. Todo funciona, pero pierdo el formato JSON. Entonces, en lugar de:
{
name:'test',
version:'1.0'
}
yo obtengo
{name:'test',version:'1.1'}
¿Hay alguna manera en Node.js para escribir JSON bien formateado en un archivo?
JSON.stringify
se ahoga en objetos cíclicos yutil.inspect
no produce json válidos. : \ No encontré una solución [nativa] para imprimir JSON en NodeJSRespuestas:
JSON.stringify
El tercer parámetro define la inserción de espacios en blanco para una impresión bonita. Puede ser una cadena o un número (número de espacios). Node puede escribir en su sistema de archivos confs
. Ejemplo:Vea los documentos JSON.stringify () en MDN , Nodo fs docs
fuente
"\t"
si quieres pestañas.Creo que esto podría ser útil ... Me encanta el código de ejemplo :)
fuente
tmp
carpeta existe o de lo contrario esto podría fallar.tmp
carpeta existe por defectoSi solo desea imprimir un objeto bonito y no exportarlo como JSON válido, puede usarlo
console.dir()
.Utiliza resaltado de sintaxis, sangría inteligente, elimina las comillas de las claves y simplemente hace que la salida sea lo más bonita posible.
Debajo del capó es un atajo para
console.log(util.inspect(…))
. La única diferencia es que omite cualquierinspect()
función personalizada definida en un objeto.fuente
Si no desea almacenar esto en cualquier lugar, solo vea el objeto con fines de depuración.
Puede cambiar el tercer parámetro para ajustar la sangría.
fuente
que hay de esto
fuente