因為最近要處理一些 JSON 數據格式,所以在經過一番搜索後最終找到了 jq 這個很棒的工具。jq 允許你直接在命令行下對 JSON 進行操作,包括分片、過濾、轉換等等。
讓我們通過幾個例子來說明 jq 的功能:
漂亮打印
如果我們用文本編輯器打開 JSON,有時候可能看起來會一團糟,但是通過 jq 的 .
(點)過濾器就可以立馬讓 JSON 的格式規整起來。
% jq . soundtag.json
用文本編輯器打開後的樣子
用 jq 顯示的結果
快速查詢
利用 jq 能夠以 key
作為關鍵字來對 JSON 作出快速查詢,例如:
% jq .cn soundtag.json
這將僅僅顯示 cn
鍵對應的值。
jq 的鍵查詢也支持鏈式調用,如:
% jq .cn[0].pNum soundtag.json
管道操作
熟悉命令行的朋友可能都知道 | (管道)是一個非常強大的武器。幸運的是,jq 也提供了對管道的支持。
% jq '.cn[] | { pNum }' soundTag.json
在這裡,我們使用管道過濾並構造出 pNum 對象。
總結
如果你需要在命令行下處理 JSON,我強烈推薦 jq。jq 不僅能夠滿足一般性的常見需求,更包含運算、內置函數、條件比較、變量聲明、自定函數等強大功能。對此感興趣的朋友,不妨通過 jq 的官方手冊 進行學習。
推薦閱讀:
Struts中異步傳送XML和JSON類型的數據 http://www.linuxidc.com/Linux/2013-08/88247.htm
Linux下JSON庫的編譯及代碼測試 http://www.linuxidc.com/Linux/2013-03/81607.htm
jQuery 獲取JSON數據[$.getJSON方法] http://www.linuxidc.com/Linux/2013-03/81673.htm
用jQuery以及JSON包將表單數據轉為JSON字符串 http://www.linuxidc.com/Linux/2013-01/77560.htm