json 文件是以人類可讀形式存儲數據的首選文件,但是當它們被壓縮編寫(不帶縮進及換行格式)時,讀起來就不那么容易了。
當然,即便是壓縮編寫,其依然是人類可讀的方式,但是保持一個良好的編寫格式,會更易讀。如下圖所示:
在本篇文章中,我們使用如下非結構化的 json 文件作為演示的例子:
{"menu": {"id": "file","value": "File","popup": {"menuitem": [{"value": "New", "onclick": "CreateNewDoc()"},{"value": "Open", "onclick": "OpenDoc()"},{"value": "Close", "onclick": "CloseDoc()"}]}}}
下面我們來分享幾個格式化輸出 json 文件的方法。
方法1:使用 jq 命令
jq 是一個命令行 json 處理器,允許用戶以各種方式修改 json 文件,允許用戶使用各種選項重新格式化 json 文件。
但是默認情況下它沒有被安裝在系統中,需要先安裝。在基于 Debian 的系統中,可以使用如下命令安裝 jq:
sudo apt install jq
格式化 json 文件最直接的方法是在文件名前面添加一個點 . :
jq . File.json
jq 允許用戶使用以下兩種方式格式化 json 文件:
- --tab 可以為每個縮進添加一個 tab 縮進,而不是默認的兩個空格;
- --indent number 允許用戶為每個縮進級別添加空格(最多8個)。
比如,我們為每個縮進添加 4 個空格,可使用如下方式:
jq . --indent 4 File.json
方法2:使用 json_pp
json_pp 是一個 Perl 模塊,用于將輸入轉換為不同的輸出格式,也可以用戶格式化輸出 json 文件。
它需要借助管道重定向與 cat 命令才能工作,如下所示:
cat File.json | json_pp
方法3:使用 Python 格式化輸出 json 文件
Python 已經在大多數系統中默認安裝了,所以我們可以借助 Python 來完成我們的任務。
要格式化輸出 json 文件,可以使用 json.tool,如下所示:
python3 -m json.tool File.json
方法4:使用 json_xs
該方法不會在終端中顯示任何結果,但是會對文件本身進行更改。這也是我們所列的 4 種方法中唯一一個可以直接保存更改的方法。
比如,我們將格式化后的文件保存到名為 Structured.json 的新文件中:
Structured.json
-
Linux
+關注
關注
87文章
11342瀏覽量
210150 -
文件
+關注
關注
1文章
570瀏覽量
24802 -
JSON
+關注
關注
0文章
119瀏覽量
6995
發布評論請先 登錄
相關推薦
評論