Javascript 如何在node.JS脚本中美化/美化Json/JS文件

Javascript 如何在node.JS脚本中美化/美化Json/JS文件,javascript,json,node.js,prettify,Javascript,Json,Node.js,Prettify,我正在寻找一种在node.js脚本(而不是CLI)中美化Json文件的方法。我发现了很多npm美化程序包,但没有一个可以直接美化文件 有一个esbeautifier可以完成我正在搜索的任务,但示例仅显示CLI命令:有没有在Javascript中使用它的方法?您可以使用该工具 @jck编辑:以下是使用fs工作的JS代码段: var esformatter = require('esformatter'); var fs = require('fs'); var filename = "./myFi

我正在寻找一种在node.js脚本(而不是CLI)中美化Json文件的方法。我发现了很多npm美化程序包,但没有一个可以直接美化文件

有一个esbeautifier可以完成我正在搜索的任务,但示例仅显示CLI命令:有没有在Javascript中使用它的方法?

您可以使用该工具

@jck编辑:以下是使用fs工作的JS代码段:

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);

或者,退房!这对我来说太棒了

通过提供

许多人使用这种调用来预打印JSON输出。它仍然是有效的JSON,只包含缩进和换行

 JSON.stringify(myObject, null, 2);

现在还不清楚你是想美化JS还是JSON文件?我们谈论的是代码还是json?我搜索的是与Notepad++插件JSTool>JSFormat相同的东西。在其他术语中,它可以更正缩进、空格和换行符。我现在使用的是Json文件,但我认为JS的过程类似,不是吗?因为我看到JS中的esformatter输出数据,但不修改文件。使用它的唯一方法是使用fs再次写入文件,对吗?难道没有一个模块可以用一个JS方法简单地美化和覆盖一个文件吗?你可以为此编写自己的函数,应该足够简单。@bilalba它不是那么简单,因为它必须处理回调。我尝试了
fs.writeFile('myFile.json',esformatter.format(fs.readFileSync('myFile.json').toString()),当然它不起作用。我很惊讶没有一个模块能直接做到这一点。好的,TY@bilalba我让它工作了,它只需要正确地分开指令。到目前为止,这是最好的答案。事实上好多了,我不得不否决其他答案,让这个答案上升。这正是我想要的,不需要调用其他模块。我已经在使用JSON.stringify()。所以我只需要添加“null”和“2”作为函数的附加参数。这怎么不是最上面的和选定的答案?!感谢您指出这一点来美化json文件!