超級好用的輕量級JSON處理命令jq(最新推薦)
1 簡介
jq是一個輕量級的命令行工具,讓你可以非常方便地處理JSON數(shù)據(jù),如切分、過濾、映射、轉化等,就像sed、awk、grep文本處理三劍客一樣。jq是用C寫的,沒有運行時依賴,你可以直接下載可執(zhí)行文件就可以使用了。
2 下載安裝
官網(wǎng)提供了可執(zhí)行文件,可以直接下載使用,當然也可以通過源碼編譯。
我是直接下載的,然后給可執(zhí)行權限:
$ chmod +x jq-osx-amd64
更名為jq:
$ mv jq-osx-amd64 jq
再加入PATH即可。
$ jq --versionjq-1.6
3 如何使用
官方提供了線上版本,可以直接使用,還給出了很多常用的例子,簡直不要太方便:
3.1 一些簡單的例子
過濾:獲取全部內(nèi)容:
$ echo '{"name":"Larry Deng"}' | jq . { "name": "Larry Deng" }
過濾:獲取特定key值:
$ echo '{"name":"Larry Deng"}' | jq .name "Larry Deng"
計算長度:
$ echo '{"name":"Larry Deng","age":18}' | jq '.name | length'
數(shù)學計算(求立方):
$ echo '[1,2,3]' | jq 'map(.*.*.)' [ 1, 8, 27 ]
截取數(shù)組部分(使用管道):
$ echo '[1,2,3]' | jq '.[0:2] | map(.*.*.)' [ 1, 8 ]
讀取key值:
$ echo '{"abc": 1, "abcd": 2, "Foo": 3}' | jq keys [ "Foo", "abc", "abcd" ]
3.2 處理文件
除了可以通過管道來處理文本,也可以直接處理文件。把下面內(nèi)容保存為jq.json:
{ "info": [ {"name":"Larry Deng","age":"18","webSite":"www.pkslow.com"}, {"name":"Larry","age":"01","webSite":"pkslow.com"}, {"name":"LarryDpk","age":"20","webSite":"https://www.pkslow.com"} ], "version":"1.0.3" }
處理如下:
$ jq .version jq.json "1.0.3" $ jq .info[0] jq.json { "name": "Larry Deng", "age": "18", "webSite": "www.pkslow.com" } $ jq '.info |.[].name ' jq.json "Larry Deng" "Larry" "LarryDpk" $ jq '.info |.[].webSite ' jq.json "www.pkslow.com" "pkslow.com" "https://www.pkslow.com"
4 總結
jq真的很好用,特別是在我們通過curl獲取json結果時。
更多使用請參考手冊:https://stedolan.github.io/jq/manual/
到此這篇關于超級好用的輕量級JSON處理命令jq的文章就介紹到這了,更多相關JSON處理命令jq內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
教你用Java Swing實現(xiàn)自助取款機系統(tǒng)
今天給大家?guī)淼氖顷P于JAVA的相關知識,文章圍繞著如何用Java Swing實現(xiàn)自助取款機系統(tǒng)展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下2021-06-06SpringBoot中Tomcat和SpringMVC整合源碼分析
Tomcat和SpringMVC都是通過這樣的方式進行集成的,SpringBoot出現(xiàn)之前SpringMVC項目是直接部署在Tomcat服務器中的,這篇文章主要介紹了SpringBoot中Tomcat和SpringMVC整合源碼分析,需要的朋友可以參考下2022-07-07Springboot接收?Form?表單數(shù)據(jù)的示例詳解
這篇文章主要介紹了Springboot接收?Form?表單數(shù)據(jù)的實例代碼,本文通過圖文實例代碼相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08