乐闻世界logo
搜索文章和话题

如何在 shell 脚本中漂亮地打印 JSON ?

9 个月前提问
8 个月前修改
浏览次数55

1个答案

1

在shell脚本中漂亮地打印JSON通常涉及到使用像jq这样的命令行工具。jq是一个轻量级且灵活的命令行JSON处理器。如果你的系统上已经安装了jq,你可以使用它来格式化JSON输出。

以下是如何使用jq在shell脚本中漂亮打印JSON的例子:

shell
#!/bin/bash # 假设你有一个名为mydata.json的JSON文件 json_file="mydata.json" # 使用jq来漂亮打印JSON内容 jq '.' "$json_file"

如果你直接从一个命令获得JSON输出,也可以这样做:

shell
#!/bin/bash # 假设你有一个命令产生JSON输出 json_output=$(some_command_that_outputs_json) # 使用jq来漂亮打印 echo "$json_output" | jq '.'

如果系统上没有安装jq,并且你不能安装它,可以使用Python的json.tool模块作为替代方案。大多数Linux系统都带有Python,所以这通常是一个可行的解决方案。下面是如何使用Python来格式化JSON的例子:

shell
#!/bin/bash # 假设你有一个名为mydata.json的JSON文件 json_file="mydata.json" # 使用Python的json.tool模块来漂亮打印JSON内容 python -m json.tool "$json_file"

或者,如果JSON数据来自一个命令的输出:

shell
#!/bin/bash # 假设你有一个命令产生JSON输出 json_output=$(some_command_that_outputs_json) # 使用Python来漂亮打印 echo "$json_output" | python -m json.tool

使用jq是最推荐的方法,因为它不仅可以格式化JSON输出,还可以执行复杂的查询、转换和数据操作。而Python的json.tool主要是用于格式化。

2024年6月29日 12:07 回复

你的答案