IT科技

當前位置 /首頁/IT科技 > /列表

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命令

TAG標籤:jq 命令 linux #