curl 是一種常用的命令行工具,用于與服務器進行通信。它可以通過 HTTP、FTP、SMTP 等協議發送請求并獲取響應。如果服務器返回的數據是 JSON 格式的,curl 可以通過一些參數將其解析并輸出到終端上。
要在 curl 中處理 JSON,有兩個主要的參數:
curl -s "URL" # -s 參數在終端上不顯示進度信息 -H "Content-Type: application/json" # 設置請求頭的類型為 application/json | jq . # 使用 jq 工具解析 JSON 并將其輸出到終端上
這里的 -s 參數用于在終端上不顯示 curl 請求過程中的進度信息。-H 參數是用于設置請求頭的,這里將請求頭的類型(Content-Type)設置為 application/json。最后的管道符(|)用于將 curl 的輸出傳輸給 jq 工具。
Jq 是一種類似于 sed 和 awk 一樣的命令行 JSON 解析器。它可以輕松地將 JSON 數據轉換成可理解的格式,并提供了一些實用的方法,如遍歷 JSON 數組、打印 JSON 對象中的值等。
curl -s "https://example.com/api/users" -H "Content-Type: application/json" | jq .
通過這個例子,我們可以向 example.com 的API發送請求,請求它的 /api/users 子路徑。通過設置請求頭的類型和使用 jq 工具解析 JSON,我們可以在終端上查看服務器返回的 JSON 對象。