curl命令的辅助工具jq

引言

在*unix世界里,可以通过curl来获取http请求的相应结果,但是curl的响应结果大部分无法格式化实现,例如在json的响应结果,显示的效果会比较差,那该如何让显示结果更好一些呢? 本文将尝试回答这个问题。

jq

地址: https://stedolan.github.io/jq/
功能描述: jq is a lightweight and flexible command-line JSON processor.
jq是一个非常轻量和灵活的基于命令行的json处理器

功能列表:
- 可以基于命令行输出,进行格式化显示
- 可以基于jquery的语法进行结果的过滤显示

安装

安装指南: https://stedolan.github.io/jq/download/
Macos:

brew install jq

Linux:

sudo apt-get install jq

使用说明

对于jq,在命令行中使用之时,一般通过管道来进行输出结果的解析和格式化:

curl -i http://localhost:8080/todo/data

HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 09 Aug 2019 02:24:40 GMT

{"id":123,"name":"who is jack?"}

curl -i http://localhost:8080/todo/data | jq

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    32    0    32    0     0   2894      0 --:--:-- --:--:-- --:--:--  3200
{
  "id": 123,
  "name": "who is jack?"
}

更为详细的使用说明文档: https://stedolan.github.io/jq/tutorial/

One More Things

如果对于此类命令行工具实在是不习惯,推进使用 postman, 基于界面可视化的操作方式,并且可以记录所有的请求过程,非常好用的。

你可能感兴趣的:(互联网技术)