# Jq,Linux 最強大的 Json 解析工具
官網:https://stedolan.github.io/jq/
# 簡介
最近工作經常撰寫 Shell Script 與使用 curl 打請求,Json 是 API 中常見的回傳格式,於是在前輩的強烈安利下,了解一下這個在命令行中非常強大的 Json 解析工具。
# 格式化 Json
| | echo '{"a":1,"b":[{"c":"d"}],"e":"aaa"}' | jq . |
| | { |
| | "a": 1, |
| | "b": [ |
| | { |
| | "c": "d" |
| | } |
| | ], |
| | "e": "aaa" |
| | } |
# 取值
| | echo '{"a":1,"b":[{"c":"d"}],"e":"aaa"}' | jq .e |
| | "aaa" |
# 取值 (無引號)
| | echo '{"a":1,"b":[{"c":"d"}],"e":"aaa"}' | jq -r .e |
| | aaa |
# 取陣列
| | echo '{"a":1,"b":[{"c":"d"}],"e":"aaa"}' | jq .b[] |
| | { |
| | "c": "d" |
| | } |
# 取陣列
| | echo '{"a":1,"b":[{"c":1},{"c":2}],"e":"aaa"}' | jq .b[] |
| | { |
| | "c": 1 |
| | } |
| | { |
| | "c": 2 |
| | } |
# 取陣列數量
| | echo '{"a":1,"b":[{"c":1},{"c":2}],"e":"aaa"}' | jq .b | jq length |
| | 2 |
# 判斷值
| | echo '{"a":1,"b":[{"c":1},{"c":2}],"e":"aaa"}' | jq ".b[] | select(.c == 1)" |
| | { |
| | "c": 1 |
| | } |
# 結語
基本上這些教學已經很夠用了,更多雜的用法可以到這裡查詢。