引言
在*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, 基于界面可视化的操作方式,并且可以记录所有的请求过程,非常好用的。