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

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

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

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

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

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

杂乱无序的展示对于问题的排查以及数据的查询十分不便利,今天主要介绍几个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

响应就结构化展示如下:

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

jq

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

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

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

fx

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

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

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

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

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

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

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

Original: https://blog.csdn.net/csd11311/article/details/127818361
Author: 软件质量保障
Title: 工具|如何在shell中漂亮地打印JSON

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/654340/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球