Linux下如何使用jq解析json數據

jq是linux下一個解析json格式數據的實用工具,可以將在linux下一團糟的json數據按格式輸出,還可以直接選中關鍵字打印出它的值。


首先要進行安裝

1.命令行安裝

sudo apt-get install jq
如果你也跟我一樣提示找不到jq包,那麼可以用第二種方式。


2.網址下載

https://stedolan.github.io/jq/download/

根據系統選擇,這裏博主使用的是ubuntu,點擊ubuntu。


選擇版本,不清楚版本的可以在terminal輸入uname指令查看:

uname -a

隨意選擇亞洲地區的下載鏈接,保存,直接安裝,完成。


然後是使用,這裏只給出最實用的3個語法,詳細的可以用man查看:

man jq


以detect api返回的json數據爲例,數據儲存在文件face中:

{"image_id": "6kox5v0GjhI9f+MWEc3wIA==", "request_id": "1493524184,9bbee040-d1f0-4681-be0a-96dbf9a4d018", "time_used": 292, "faces": [{"attributes": {"gender": {"value": "Female"}, "age": {"value": 26}}, "face_rectangle": {"width": 113, "top": 125, "left": 198, "height": 113}, "face_token": "ff5bda3d50e933584a28722afd8f9b2e"}]}

1.格式化輸出json

jq . face

得到:

{
  "faces": [
    {
      "face_token": "ff5bda3d50e933584a28722afd8f9b2e",
      "face_rectangle": {
        "height": 113,
        "left": 198,
        "top": 125,
        "width": 113
      },
      "attributes": {
        "age": {
          "value": 26
        },
        "gender": {
          "value": "Female"
        }
      }
    }
  ],
  "time_used": 292,
  "request_id": "1493524184,9bbee040-d1f0-4681-be0a-96dbf9a4d018",
  "image_id": "6kox5v0GjhI9f+MWEc3wIA=="
}

2.查看關鍵值

jq 'keys' face

得到:

[
  "faces",
  "image_id",
  "request_id",
  "time_used"
]

3.提取關鍵值

jq '.time_used' face
得到:

292


對於嵌套比較多層的json,在linux下使用awk進行解析也是一個不錯的選擇:linux下使用awk解析json

發佈了32 篇原創文章 · 獲贊 45 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章