在Shell命令列處理JSON資料的方法_linux shell

來源:互聯網
上載者:User

因為最近要處理一些 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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.