使用 jq 分析 JSON
linux json -echo "[1,2,3]" | jq .
Why
有時候面對一團 JSON 卻不想寫程式,這時候就能拿 jq 出來用。
What
Install
sudo apt install jq
format
讓 JSON 排列的更整齊
input:
echo '{ "name": "a", "value": "b", "desc": "c" }' | jq .
output:
{
"name": "a",
"value": "b",
"desc": "c"
}
pick
挑出陣列中每個物件中鍵值為 name 和 value 的值
input: [{ "name": "a", "value": "b", "desc": "c" }, { "name": "d", "value": "e", "desc": "f" }]
jq '.[] | {"name", "value"}'
output: { "name": "a", "value": "b" } {"name": "d", "value": "e" }
要讓輸出更像 JSON 你可以用 [] 將他包起來。
input: [{ "name": "a", "value": "b", "desc": "c" }, { "name": "d", "value": "e", "desc": "f" }]
`jq '[.[] | {"name", "value"}]'`
output: [{ "name": "a", "value": "b" },{"name": "d", "value": "e" }]
filters
過濾出符合條件的項目
input: [{"id": 1, "val": 1}, {"id": 2, "val": 2}]
jq '.[] | select(.id == 1)'
output: { "id": 1, "val": 1 }
array 長度
input: [{"id": 1, "val": 1}, {"id": 2, "val": 2}]
jq '. | length'
output: 2
還有更多技巧,但這應該已經夠用了。
>>
從圖像中掃描解碼條碼