我该如何在命令行中漂亮地打印JSON文件?

24 浏览
0 Comments

我该如何在命令行中漂亮地打印JSON文件?

我有一个包含JSON元素序列的文件:

{ element0: "lorem", value0: "ipsum" }
{ element1: "lorem", value0: "ipsum" }
...
{ elementN: "lorem", value0: "ipsum" }

有没有一个shell脚本可以格式化JSON以显示文件内容的可读形式?

我看到了这个帖子,我认为这是一个很好的起点!

我的想法是迭代文件中的行,然后:

while read row; do echo ${row} | python -mjson.tool; done < "file_name"

有没有其他的想法呢?

admin 更改状态以发布 2023年5月21日
0
0 Comments

jq - 一款轻量级且灵活的命令行JSON处理器

当我发现这款工具时,它花费了我比预期更长的时间,因此我认为它值得一篇单独的文章。我正在寻找一种简单的方式来美化docker inspect -f的JSON输出。Noufal Ibrahim在另一个答案中简短地提到了这个工具。

以下是来自jq网站(https://stedolan.github.io/jq/)的介绍:

jq就像是sed命令用于JSON数据处理一样-您可以使用它来切片、筛选、映射和转换结构化数据,就像sed、awk、grep等让您处理文本一样轻松。

默认提供彩色输出,您只需要将数据管道传输给jq即可,例如:

jq . < file

例如:

"原始"的JSON输出通过jq进行处理的输出的对比

0
0 Comments

将文件中的结果直接传输到Python的json工具中,版本在2.6及以上

python -m json.tool < 'file_name'

0