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

json, node.js

Solution

`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

Problem

This seems like a solved problem but I am unable to find a solution for it. Basically, I read a JSON file, change a key, and write back the new JSON to the same file. All works, but I loose the JSON formatting.So, instead of: ``` { name:'test', version:'1.0' } ``` I get ``` {name:'test',version:'1.1'} ``` Is there a way in Node.js to write well formatted JSON to file ?

Original source

Related problems