因為最近要處理一些 JSON 資料格式,所以在經過一番搜尋後 最終找到了 jq 這個很棒的工具。jq 允許你直接在命令列下對 JSON 進行操作,包括分區、過濾、轉換等等。
讓我們通過幾個例子來說明 jq 的功能:
一、輸出格式化,漂亮的列印效果
如果我們用文字編輯器開啟 JSON,有時候可能看起來會一團糟,但是通過 jq 的 .(點)過濾器就可以立馬讓 JSON 的格式規整起來。
1.用文字編輯器開啟後的樣子
2.用 jq 顯示的結果
複製代碼 代碼如下:
% jq . soundtag.json
二、快速查詢JSON資料
利用 jq 能夠以 key 作為關鍵字來對 JSON 作出快速查詢, 例如:
複製代碼 代碼如下:
% jq .cn soundtag.json
這將僅僅顯示 cn 鍵對應的值。
jq 的鍵查詢也支援鏈式調用,如:
複製代碼 代碼如下:
% jq .cn[0].pNum soundtag.json
三、jq的管道操作
熟悉命令列的朋友可能都知道 | (管道)是一個非常強大的 武器。幸運的是,jq 也提供了對管道的支援。
複製代碼 代碼如下:
% jq '.cn[] | { pNum }' soundTag.json
在這裡,我們使用管道過濾並構造出 pNum 對象。
四、總結
如果你需要在命令列下處理 JSON,我強烈推薦 jq。jq 不僅 能夠滿足一般性的常見需求,更包含運算、內建函數、條件比較、 變數聲明、自定函數等強大功能。對此感興趣的朋友,不妨通過 jq 的官方手冊 進行學習。
PS:關於json操作,這裡再為大家推薦幾款比較實用的json線上工具供大家參考使用:
線上JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON線上格式化工具:
http://tools.jb51.net/code/jsonformat
線上XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson
json代碼線上格式化/美化/壓縮/編輯/轉換工具:
http://tools.jb51.net/code/jsoncodeformat
線上json壓縮/轉義工具:
http://tools.jb51.net/code/json_yasuo_trans
C語言風格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json