📜  curl 漂亮的打印 json - Javascript (1)

📅  最后修改于: 2023-12-03 15:00:10.901000             🧑  作者: Mango

Curl漂亮的打印JSON - JavaScript

如果你使用 curl 命令获取 JSON 数据,在终端中输出是格式混乱的,所以我们需要格式化后才能查阅。此时我们就可以使用 jqJSON.stringify() 函数将其格式化。以下是两种不同的方法漂亮打印 JSON 数据:

方法一: 使用 jq

Jq 是一个针对JSON格式的轻量级命令行JSON处理工具。

安装 jq

在 Ubuntu 中,你可以通过以下命令来安装 jq:

sudo apt-get update && sudo apt-get install jq

在 macOS 中,你可以使用 brew 来安装 jq:

brew install jq

在 Windows 中,则需要下载安装包。可以从官网下载合适的版本。

使用 jq

使用以下 curl 命令来获取JSON数据:

curl https://someurl.com/data.json

使用 jq 格式化 JSON:

curl https://someurl.com/data.json | jq '.'

将结果输出到文件中:

curl https://someurl.com/data.json | jq '.' > data_formatted.json
输出

以下是格式化后的 JSON 数据:

[
  {
    "id": 1,
    "name": "Alice",
    "age": 20
  },
  {
    "id": 2,
    "name": "Bob",
    "age": 25
  },
  {
    "id": 3,
    "name": "Charlie",
    "age": 30
  }
]
注意事项

jq 命令很强大,可以针对 JSON 进行各种处理,更多使用方法可以去官网查看文档。

方法二: 使用 JavaScript 的 JSON.stringify()

JavaScript 提供了一个函数 JSON.stringify() 用于将 JSON 对象格式化为字符串。

使用 JSON.stringify()

以下 curl 命令获取 JSON 数据:

curl https://someurl.com/data.json

使用 JSON.stringify() 格式化 JSON:

curl https://someurl.com/data.json | node -pe "JSON.stringify(JSON.parse(require('fs').readFileSync('/dev/stdin').toString('utf-8')), null, 2)"

将结果输出到文件中:

curl https://someurl.com/data.json | node -pe "JSON.stringify(JSON.parse(require('fs').readFileSync('/dev/stdin').toString('utf-8')), null, 2)" > data_formatted.json
输出

以下是格式化后的 JSON 数据:

[
  {
    "id": 1,
    "name": "Alice",
    "age": 20
  },
  {
    "id": 2,
    "name": "Bob",
    "age": 25
  },
  {
    "id": 3,
    "name": "Charlie",
    "age": 30
  }
]
注意事项

该方法需要使用 Node.js 来处理 JSON 数据。你需要先安装 Node.js。

结论

以上两种方法都可以格式化 JSON 数据,让数据更易读。选择哪种方法取决于你的个人喜好和需要。如果你想使用非常灵活的方式处理 JSON,建议使用 jq。如果你要快速将JSON数据格式化,可以使用 JavaScript 的 JSON.stringify()