工具|如何在shell中漂亮地打印JSON

Linux curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl可以祝一臂之力。

498275ff3c2ceccd259760e03ca0932e.png

 

后端大多数接口返回的都是结构化数据,例如json格式。如果直接curl请求,返回的结果就像下面打印的那样,杂乱无序。

本文所有示例使用macOS Big Sur默认终端实现。

17982ed2268c3f418266000918a29db4.png

杂乱无序的展示对于问题的排查以及数据的查询十分不便利,今天主要介绍几个JSON美化的工具,帮大家提高工作效率。

Python

相信大多数同学都安装有python(linux用户系统默认有安装Python),而python自带的有JSON工具,我们可以直接使用。

curl 'https://api.openweathermap.org/data/2.5/onecall?lat=40.1811&lon=44.5136&appid={api_key}' | python -m json.tool

响应就结构化展示如下:

21b239855951881d5e55654f9a7fc712.png

jq

jq是一个灵活的命令行 JSON 处理器,也是最常用的JSON美化解决方案。

curl 'https://api.openweathermap.org/data/2.5/onecall?lat=40.1811&lon=44.5136&appid={api_key}' | jq

39f8850d10cf41bd6390fe3db10ac31f.png

fx

fx是一个命令行 JSON 查看器和操作工具——在获取 JSON 后,可以手动点击浏览它:

fd2d54afe7ebf7e1e3f048a2af13c310.gif

当然通过fx .可以在非交互模式下展示响应:

curl 'https://api.openweathermap.org/data/2.5/onecall?lat=40.1811&lon=44.5136&appid={api_key}' | fx .

68d41869e9ee55aadf30c7d0e098b59a.png

 

jless

jless是一个命令行JSON查看器。使用它来替代less、jq、cat和当前用于查看JSON文件的编辑器的任何组合。它是用Rust编写的,可以作为单个独立二进制文件安装。

  • 干净的语法突出显示JSON数据,省略对象键周围的引号,关闭对象和数组分隔符,以及尾随逗号。
  • 展开和折叠对象和数组,以便可以看到数据的高位结构和low-level结构。
  • 大量vim-inspired移动命令用于高效地移动和查看数据。
  • 完整的regex-based搜索可以准确地找到你要查找的数据。

jless目前支持macOS和Linux。

curl 'https://api.openweathermap.org/data/2.5/onecall?lat=40.1811&lon=44.5136&appid={api_key}' | jless

6396a95d9b5e9c03ed3b73e6fa7c858c.png

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件质量保障

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值