【问题标题】:How to beautify/prettify a Json/JS file in a node.js script如何在 node.js 脚本中美化/美化 Json/JS 文件
【发布时间】:2016-09-07 00:27:52
【问题描述】:

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

有 esbeautifier 可以执行我正在搜索的操作,但示例仅显示 CLI 命令:https://github.com/royriojas/esbeautifier 有没有办法在 Javascript 中使用它?

【问题讨论】:

  • 不清楚要美化JS文件还是JSON文件?我们在谈论代码还是 json?
  • 我正在搜索与 Notepad++ 插件 JSTool>JSFormat 相同的东西
  • 换句话说,它更正了缩进、空格和换行符。我现在用的是 Json 文件,但我认为 JS 的过程是类似的,不是吗?

标签: javascript json node.js prettify


【解决方案1】:

您可以通过提供parameters to JSON.stringify(). 轻松打印 JSON

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

 JSON.stringify(myObject, null, 2);

【讨论】:

  • 迄今为止最好的答案。实际上好多了,以至于我不得不对其他答案投反对票以让这个答案上升
  • 谢谢。这正是我想要的,不需要调用一些额外的模块。我已经在使用 JSON.stringify()。所以我只需要添加“null”和“2”作为函数的附加参数。
  • 这不是最佳和选定的答案吗?!感谢您指出这一点以美化 json 文件!
【解决方案2】:

您可以使用工具esformatter

@jck 编辑:这是使用 fs 工作的 JS sn-p:

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

【讨论】:

  • 我在 JS 中看到 esformatter 输出数据但不修改文件。使用它的唯一方法是使用 fs 再次写入文件,对吗?有没有一个模块可以简单地在一个 JS 方法中美化和覆盖文件?
  • 您可以为此编写自己的函数,应该足够简单。
  • @bilalba 这不是那么简单,因为它必须处理回调。我试过fs.writeFile('myFile.json', esformater.format(fs.readFileSync('myFile.json').toString()));,当然没用。我很惊讶没有任何模块可以直接做到这一点。
  • ok TY @bilalba 我成功了,它只需要正确分隔指令。
【解决方案3】:

或者,查看prettyjson!这对我来说很棒!

【讨论】:

    猜你喜欢
    • 2012-02-24
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 2020-06-11
    • 2011-09-04
    • 2023-03-31
    相关资源
    最近更新 更多