Cela semble être un problème résolu mais je ne parviens pas à trouver de solution.
Fondamentalement, je lis un fichier JSON, change une clé et réécris le nouveau JSON dans le même fichier. Tout fonctionne, mais je perds la mise en forme JSON. Au lieu de:
{
name:'test',
version:'1.0'
}
Je reçois
{name:'test',version:'1.1'}
Existe-t-il un moyen dans Node.js d'écrire du JSON bien formaté dans un fichier?
JSON.stringify
s'étouffe avec les objets cycliques etutil.inspect
ne produit pas de json valide. : \ Je n'ai trouvé aucune solution [native] pour une jolie impression JSON dans NodeJSRéponses:
JSON.stringify
Le troisième paramètre définit l'insertion d'espaces blancs pour la jolie impression. Il peut s'agir d'une chaîne ou d'un nombre (nombre d'espaces). Le nœud peut écrire sur votre système de fichiers avecfs
. Exemple:Voir les documents JSON.stringify () sur MDN , Node fs docs
la source
"\t"
si vous voulez des onglets.Je pense que cela pourrait être utile ... J'adore l'exemple de code :)
la source
tmp
dossier existe, sinon cela pourrait échouer.tmp
dossier existe par défautSi vous souhaitez simplement imprimer un objet et ne pas l'exporter en tant que JSON valide, vous pouvez utiliser
console.dir()
.Il utilise la coloration syntaxique, l'indentation intelligente, supprime les guillemets des clés et rend la sortie aussi jolie que possible.
Sous le capot, c'est un raccourci pour
console.log(util.inspect(…))
. La seule différence est qu'il contourne touteinspect()
fonction personnalisée définie sur un objet.la source
Si vous ne voulez pas le stocker n'importe où, mais affichez simplement l'objet à des fins de débogage.
Vous pouvez modifier le troisième paramètre pour ajuster l'indentation.
la source
Et ça?
la source