• 工具|如何在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

     

     

     

  • 相关阅读:
    ngxin开发一个静态http服务器二
    [数据结构]~二叉树
    【2022感恩节活动营销理念】跨境电商卖家必知 !
    详解:API开发【电商API封装商品数据SKU接口的开发接入】
    自知则知之做做做做做做做做做做做做做
    MySQL-索引&事务
    python中的命名空间和变量作用域介绍
    C语言入门(一)常量、变量
    用WindowsAppSDK(WASDK)优雅的开发上位机应用
    好文章推荐
  • 原文地址:https://blog.csdn.net/csd11311/article/details/127818361