溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux下解析json格式的jq工具怎么用

發(fā)布時(shí)間:2021-12-02 17:50:26 來(lái)源:億速云 閱讀:357 作者:小新 欄目:云計(jì)算

這篇文章給大家分享的是有關(guān)linux下解析json格式的jq工具怎么用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

linux下解析json格式的jq工具

jq工具會(huì)把json文件更有好的讀取出來(lái),此外,jq工具還在背后檢查json文件的合法性,如果文件存在格式上的錯(cuò)誤,jq也會(huì)報(bào)出錯(cuò)誤存在的位置

第一章 jq入門(mén)

1、linux下jq工具的安裝

sudo apt-get install jq -y

vim中使用jq工具

  • 注意提前備份json文件,因?yàn)樵摬僮鲿?huì)直接修改文件

  • 在vim的最后一行模式下使用

:%!jq '.'

第二章 linux下jq工具的基本使用

1、檢查json文件的格式的合法性

如果該json文件存在格式錯(cuò)誤,會(huì)報(bào)出錯(cuò)誤存在的位置,如:
"url"
parse error: Expected string key before ':' at line 1, column 6

2、顯示json文件的所有內(nèi)容

cat json | jq .

3、通過(guò)Key獲取Value的值

cat json | jq '.name'

解析不存在的元素key時(shí),會(huì)返回null.

4、嵌套解析

案例1

cat json_area.txt | jq '.location.state'
"Beijin"

案例2

$ cat jsondemo
[
  {
    "sha": "7b81a836c31500e685d043729259affa8b670a87",
    "commit": {
      "author": {
        "name": "William Langford",
        "email": "wlangfor@gmail.com",
        "date": "2017-06-19T14:55:26Z"
        }
    }
 }
]
$ cat jsondemo | jq '.[0].sha'
"7b81a836c31500e685d043729259affa8b670a87"

5、內(nèi)建函數(shù)

jq擁有一些內(nèi)建的函數(shù),如has,key等, key函數(shù)用于獲取json中的Key

jq 'keys' json_file

has判斷json文件中是否有某一個(gè)Key

cat json_raw.txt | jq 'has("name")'
true
cat json_raw.txt | jq 'has("noexisted")'
false

感謝各位的閱讀!關(guān)于“l(fā)inux下解析json格式的jq工具怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI