當前位置:生活全書館 >

IT科技

> jq命令 linux

jq命令 linux

1、jq命令簡介:

jq命令允許直接在命令列下對JSON進行操作,包括分片、過濾、轉換等

JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。基於JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集JSON 資料的書寫格式是: 名稱/物件。JSON的結構基於兩點

“名稱/值”的集合 ,在不同的語言中,它可以被理解為物件(object),記錄(record),結構(struct),字典(dictionary),雜湊表(hash table),鍵列表(keyed list)等 .值的有序列表 多數語言中被理解為陣列(array)

2、JSON的基礎結構:

物件是屬性、值的集合。一個物件開始與”{” ,結束於”}”。每一個屬性名和值間用”:”分隔。每個屬性間用”,”分隔。

值可以是字串,數字,邏輯值,陣列,物件,null。

數字:整數或浮點數

字串:在雙引號中

邏輯符:true和false

陣列:在方括號中

物件:在花括號中

null: 代表空

Ubuntu下的jq安裝

apt-get install jq

3、jq命令的格式:

jq [options] filter [files]

**options:**

--version:輸出jq的版本資訊並退出

--slurp/-s:讀入整個輸入流到一個數組。

--raw-input/-R:不作為JSON解析,將每一行的文字作為字串輸出到螢幕。

--null-input/ -n:不讀取任何輸入,過濾器執行使用null作為輸入。一般用作從頭構建JSON資料。

--compact-output /-c:使輸出緊湊,而不是把每一個JSON物件輸出在一行。

--colour-output / -C:開啟顏色顯示

--monochrome-output / -M:關閉顏色顯示

--ascii-output /-a:指定輸出格式為ASCII

-raw-output /-r :如果過濾的結果是一個字串,那麼直接寫到標準輸出(去掉字串的引號)

**filter:**

.   : 預設輸出

.foo: 輸出指定屬性,foo代表屬性。

.[foo] :輸出指定陣列元素。foo代表陣列下標。

.[]:輸出指定陣列中全部元素

, :指定多個屬性作為過濾條件時,用逗號分隔

| : 將指定的陣列元素中的某個屬性作為過濾條件

**files:**

JOSN格式檔案

linux jq命令

標籤: jq linux 命令
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/9311l9.html