jq 官網
-
簡單提取:
假設你有一個 JSON 檔案data.json
,其內容如下:{ "name": "Alice", "age": 30, "city": "New York" }
要提取
"name"
的值,可以使用:jq '.name' data.json
-
巢狀提取:
對於巢狀的 JSON 資料,例如:{ "person": { "name": "Alice", "age": 30 } }
你可以使用點表示法提取巢狀的值:
jq '.person.name' data.json
-
過濾陣列:
假設你有一個包含物件陣列的 JSON 檔案:[ {"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}, {"name": "Charlie", "age": 35} ]
要過濾出年齡大於 30 的人,可以使用:
jq '.[] | select(.age > 30)' data.json
-
搜尋特定值:
如果你想查詢特定的值,例如查詢名字是 "Bob" 的人:jq '.[] | select(.name == "Bob")' data.json
-
複雜查詢:
使用邏輯運算子進行更復雜的查詢。例如,查詢年齡在 25 到 35 之間的人:jq '.[] | select(.age >= 25 and .age <= 35)' data.json
-
輸出格式化:
jq
預設會格式化輸出,如果你只想要原始的 JSON 字串,可以使用-c
選項:jq -c '.[] | select(.age > 30)' data.json
透過這些基本命令,你可以在 JSON 資料中進行有效的搜尋和過濾。jq
還有更多高階功能和選項,可以根據需要查閱其文件進行深入學習。