linux下json数据解析,Linux下使用jq简单解析json的方法
jq簡介
jq 是一款命令行下處理 JSON 數據的工具。其可以接受標準輸入,命令管道或者文件中的 JSON 數據,經過一系列的過濾器(filters)和表達式的轉后形成我們需要的數據結構并將結果輸出到標準輸出中。jq 的這種特性使我們可以很容易地在 Shell 腳本中調用它。jq支持的平臺有linux/osx/windows等等,目前為止最新版本為1.5,官方鏈接:https://stedolan.github.io/jq/
jq安裝方法
debian/ubuntu安裝源安裝:sudo?apt-get?install?jq
如果安裝的版本不是最新的1.5,請更換一下安裝源!
下載二進制安裝:wget?http://stedolan.github.io/jq/download/linux64/jq
chmod?+x?./jq
sudo?cp?jq?/usr/bin
源碼安裝方法為:git?clone?https://github.com/stedolan/jq.git
cd?jq
autoreconf?-i
./configure?--disable-maintainer-mode
make
sudo?make?install
jq的簡單使用
{
"Name": "吾八哥",
"Age": 33,
"website": "www.5bug.wang",
"Group": [{
"ID": 1001,
"Name": "討論組1"
},
{
"ID": 1002,
"Name": "討論組2"
}]
}
簡單的讀取方法如下:
#存儲到json變量里json=$(cat?test.json)
#以json格式顯示echo?$json?|?jq?'.'
#讀取Name字段echo?$json?|?jq?'.Name'
#讀取Group的長度echo?$json?|?jq?'.Group?|?length'
#讀取Group數組內的索引為1的item里的IDecho?$json?|?jq?'.Group[1].ID'
#讀取website和Group數組內的索引為1的itemecho?$json?|?jq?'[.website,.Group[1]]'
#顯示當前層下所有的字段名json?|?jq?'.'?|?jq?'keys'
#判斷是否包含某個字段名echo?$json?|?jq?'.'?|?jq?'has("Age")'
這里只是非?;A的使用方法,還有很多其他的好用的功能,例如fitter,數組切片,迭代器,內置運算,映射,過濾路徑操作等等,大家可以看看文檔稍微了解一下留個印象,以后遇到類似的使用場景就知道是否可以通過jq來實現了!
總結
以上是生活随笔為你收集整理的linux下json数据解析,Linux下使用jq简单解析json的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 创建匿名ftp,Linux使
- 下一篇: pppoe错误代码 linux,PPPO