在 Linux 命令行中格式化輸出 json
當然,即便是壓縮編寫,其依然是人類可讀的方式,但是保持一個良好的編寫格式,會更易讀。如下圖所示:
在本篇文章中,我們使用如下非結構化的 json 文件作為演示的例子:
下面我們來分享幾個格式化輸出 json 文件的方法。
方法1:使用 jq 命令
jq 是一個命令行 json 處理器,允許用戶以各種方式修改 json 文件,允許用戶使用各種選項重新格式化 json 文件。
但是默認情況下它沒有被安裝在系統(tǒng)中,需要先安裝。在基于 Debian 的系統(tǒng)中,可以使用如下命令安裝 jq:
格式化 json 文件最直接的方法是在文件名前面添加一個點 . :
jq 允許用戶使用以下兩種方式格式化 json 文件:
- --tab 可以為每個縮進添加一個 tab 縮進,而不是默認的兩個空格;
- --indent number 允許用戶為每個縮進級別添加空格(最多8個)。
比如,我們?yōu)槊總€縮進添加 4 個空格,可使用如下方式:
方法2:使用 json_pp
json_pp 是一個 Perl 模塊,用于將輸入轉(zhuǎn)換為不同的輸出格式,也可以用戶格式化輸出 json 文件。
它需要借助管道重定向與 cat 命令才能工作,如下所示:
方法3:使用 Python 格式化輸出 json 文件
Python 已經(jīng)在大多數(shù)系統(tǒng)中默認安裝了,所以我們可以借助 Python 來完成我們的任務。
要格式化輸出 json 文件,可以使用 json.tool,如下所示:
方法4:使用 json_xs
該方法不會在終端中顯示任何結果,但是會對文件本身進行更改。這也是我們所列的 4 種方法中唯一一個可以直接保存更改的方法。
比如,我們將格式化后的文件保存到名為 Structured.json 的新文件中:
以上就是本次分享全部內(nèi)容,歡迎討論。