引言
在*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, 基於界面可視化的操作方式,並且可以記錄所有的請求過程,非常好用的。