How to beautify/prettify a Json/JS file in a node.

2020-04-10 01:04发布

问题:

I am searching a way to prettify Json files in a node.js script (not CLI). I found a lot of npm beautifier packages, but none that can simply beautify directly a file.

There is esbeautifier that do what I am searching to do, but the exemples only shows CLI commands: https://github.com/royriojas/esbeautifier Is there a way to use it in a Javascript?

回答1:

you can use the tool esformatter.

edit by @jck: here is JS snippet that works using fs:

var esformatter = require('esformatter');
var fs = require('fs');
var filename = "./myFile.json";
var codeStr = fs.readFileSync(filename).toString();
var formattedCode = esformatter.format(codeStr);
fs.writeFile(filename, formattedCode);


回答2:

You can prettyprint JSON easily by providing parameters to JSON.stringify().

Many people use this kind of call to prettyprint JSON output. It's still valid JSON, it just contains indentation and newlines.

 JSON.stringify(myObject, null, 2);


回答3:

Alternatively, check out prettyjson! It has been great for me!