运维开发网
广告位招商联系QQ:123077622
 
广告位招商联系QQ:123077622

格式化Curl返回的Json工具

运维开发网 https://www.qedev.com 2021-01-16 12:51 出处:51CTO 作者:阿泽Aze
背景​我们在日常工作中,常会用到curl,但是如果返回的json比较大可读性就比较差了,所以这里我推荐三个格式化curl返回json的工具。教程举个例子:curlhttps://news-at.zhihu.com/api/4/news/latest{"date":"20171014","stories":[{"title":"这些有故事的DOTA职业选手外号(国外篇)","ga_prefix":"

背 景

​ 我们在日常工作中,常会用到curl,但是如果返回的json比较大可读性就比较差了,所以这里我推荐三个格式化curl返回json的工具。

教程

举个例子:

curl https://news-at.zhihu.com/api/4/news/latest
{"date":"20171014","stories":[{"title":"这些有故事的 DOTA 职业选手外号(国外篇)","ga_prefix":"101417","images":["https:\/\/pic3.zhimg.com\/v2-471f6f1170fcb7d491ba54404acaf30a.jpg"]}]}

Python 格式化

  • 在curl命令后面添加 | python -m json.tool 即可。

  • 缺点:中文被unicode编码了。

    curl https://news-at.zhihu.com/api/4/news/latest | python -m json.tool
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                   Dload  Upload   Total   Spent    Left  Speed
    100  3901  100  3901    0     0  33333      0 --:--:-- --:--:-- --:--:-- 33629
    {
      "date": "20171014",
      "stories": [
          {
              "ga_prefix": "101417",
              "id": 9651211,
              "images": [
                  "https://pic3.zhimg.com/v2-471f6f1170fcb7d491ba54404acaf30a.jpg"
              ],
              "multipic": true,
              "title": "\u8fd9\u4e9b\u6709\u6545\u4e8b\u7684 DOTA \u804c\u4e1a\u9009\u624b\u5916\u53f7\uff08\u56fd\u5916\u7bc7\uff09",
              "type": 0
          },
    
      ]
    }

Jq

  • jq是一个非常轻量和灵活的基于命令行的json处理器

  • 优点:彩色json,支持jquery过滤指定json(详情看官方文档:https://stedolan.github.io/jq/tutorial/)

    curl  https://news-at.zhihu.com/api/4/news/latest -s | jq
    {
    "date": "20171014",
    "stories": [{
        "title": "这些有故事的 DOTA 职业选手外号(国外篇)",
        "ga_prefix": "101417",
        "images": ["https:\/\/pic3.zhimg.com\/v2-471f6f1170fcb7d491ba54404acaf30a.jpg"]
    }]
    }

    比如只获取date字段

    curl  https://news-at.zhihu.com/api/4/news/latest -s | jq '.date'
    "20210115"

NodeJs 格式化(推荐)

  • 用npm安装一个json库,这里是库的地址 文档。

  • 安装命令: npm install -g json,在curl命令后面添加 | json 即可。

    curl  https://news-at.zhihu.com/api/4/news/latest -s | json
    {
    "date": "20171014",
    "stories": [{
        "title": "这些有故事的 DOTA 职业选手外号(国外篇)",
        "ga_prefix": "101417",
        "images": ["https:\/\/pic3.zhimg.com\/v2-471f6f1170fcb7d491ba54404acaf30a.jpg"]
    }]
    }

    参考文章

  1. https://blog.csdn.net/qq_21816375/article/details/80176429
  2. https://blog.csdn.net/guijiaoba/article/details/78235523

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号