在命令行或脚本中格式化打印 Json 数据,提高数据可读性。
How can I pretty-print JSON in a shell script?
使用 python 格式化输出
# 字符串
echo '{"foo": "lorem", "bar": "ipsum"}' | python -m json.tool
# 文件
python -m json.tool response.json
使用 jq 格式化输出
jq is like sed for JSON data - you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text.
jq is written in portable C, and it has zero runtime dependencies. You can download a single binary, scp it to a far away machine of the same type, and expect it to work.
# 字符串
echo '{"foo": "lorem", "bar": "ipsum"}' | jq .
jq . <<< '{ "foo": "lorem", "bar": "ipsum" }'
# 文件
jq . response.json
jq --color-output . response.json | less -R
. is a identity filter that takes its input and produces it unchanged as output. Refer to Basic filters for more details.