jq : 輕量級的命令列JSON處理器
在Linux系統中,有一個輕量級的命令列JSON處理器jq。jq工具可以幫助使用者輕鬆處理JSON格式的資料,它可以從標準輸入讀取JSON資料,也可以從檔案中讀取。jq支援各種查詢和過濾操作,如選擇、過濾、轉換、排序和格式化等,是處理JSON資料的強大工具。
jq特點:
- 快速和高效:jq使用C語言編寫,處理JSON資料非常快速和高效。
- 靈活和強大:jq具有豐富的功能和靈活的語法,能夠處理複雜的JSON資料結構和進行高階的JSON資料操作。
- 命令列工具:jq是一個命令列工具,可從終端中直接呼叫,方便快捷。
- 跨平臺:jq可在多種作業系統(包括Unix/Linux、Windows和macOS)上使用。
- 開源:jq是一個開源工具,使用者可自由修改和分發。
- 支援管道:jq支援從一個命令輸出管道到另一個命令作為輸入,使得資料處理更加靈活和高效。
jq安裝:
- 線上安裝:
- 對於基於Red Hat的系統(如CentOS),可以使用yum命令安裝:
sudo yum install jq
。但需要注意的是,可能需要先安裝EPEL源。 - 對於基於Debian的系統(如Ubuntu),可以使用apt命令安裝:
sudo apt install jq
。
- 對於基於Red Hat的系統(如CentOS),可以使用yum命令安裝:
- 離線安裝:
- 可以從jq的GitHub釋出頁面下載預編譯的二進位制檔案,然後將其放置到系統的PATH路徑下,並設定可執行許可權。
jq的基本使用:
jq的基本使用包括查詢JSON資料、過濾資料、格式化輸出等。以下是一些基本示例:
- 顯示JSON檔案的所有key:可以使用
jq keys
命令。 - 顯示key對應的值:可以使用
jq '.key_name'
命令,其中key_name
是你要查詢的key的名稱。 - 查詢JSON檔案:可以使用
jq 'filter' file.json
命令,其中filter
是jq過濾器表示式,file.json
是包含JSON資料的檔名。 - 格式化輸出:jq預設會以緊湊的格式輸出JSON資料,但可以使用
-c
(壓縮輸出)或-P
(美化輸出)選項來控制輸出格式。
jq的過濾器表示式非常靈活,支援使用點號(.
)訪問JSON物件的屬性,使用方括號([]
)訪問JSON陣列的元素,以及使用各種內建函式和運算子進行復雜的資料處理。