How can I pretty-print JSON using node.js? How can I pretty-print JSON using node.js? json json

How can I pretty-print JSON using node.js?


JSON.stringify's third parameter defines white-space insertion for pretty-printing. It can be a string or a number (number of spaces). Node can write to your filesystem with fs. Example:

var fs = require('fs');fs.writeFile('test.json', JSON.stringify({ a:1, b:2, c:3 }, null, 4));/* test.json:{     "a": 1,     "b": 2,     "c": 3,}*/

See the JSON.stringify() docs at MDN, Node fs docs


I think this might be useful... I love example code :)

var fs = require('fs');var myData = {  name:'test',  version:'1.0'}var outputFilename = '/tmp/my.json';fs.writeFile(outputFilename, JSON.stringify(myData, null, 4), function(err) {    if(err) {      console.log(err);    } else {      console.log("JSON saved to " + outputFilename);    }}); 


If you just want to pretty print an object and not export it as valid JSON you can use console.dir().

It uses syntax-highlighting, smart indentation, removes quotes from keys and just makes the output as pretty as it gets.

const jsonString = `{"name":"John","color":"green",                     "smoker":false,"id":7,"city":"Berlin"}`const object = JSON.parse(jsonString)console.dir(object, {depth: null, colors: true})

Screenshot of logged object

Under the hood it is a shortcut for console.log(util.inspect(…)).The only difference is that it bypasses any custom inspect() function defined on an object.