json 文件是以人類可讀形式存儲數(shù)據(jù)的首選文件,但是當(dāng)它們被壓縮編寫(不帶縮進(jìn)及換行格式)時,讀起來就不那么容易了。
當(dāng)然,即便是壓縮編寫,其依然是人類可讀的方式,但是保持一個良好的編寫格式,會更易讀。如下圖所示:
在本篇文章中,我們使用如下非結(jié)構(gòu)化的 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 文件。
但是默認(rèn)情況下它沒有被安裝在系統(tǒng)中,需要先安裝。在基于 Debian 的系統(tǒng)中,可以使用如下命令安裝 jq:
sudo apt install jq
格式化 json 文件最直接的方法是在文件名前面添加一個點 . :
jq . File.json
jq 允許用戶使用以下兩種方式格式化 json 文件:
- --tab 可以為每個縮進(jìn)添加一個 tab 縮進(jìn),而不是默認(rèn)的兩個空格;
- --indent number 允許用戶為每個縮進(jìn)級別添加空格(最多8個)。
比如,我們?yōu)槊總€縮進(jìn)添加 4 個空格,可使用如下方式:
jq . --indent 4 File.json
方法2:使用 json_pp
json_pp 是一個 Perl 模塊,用于將輸入轉(zhuǎn)換為不同的輸出格式,也可以用戶格式化輸出 json 文件。
它需要借助管道重定向與 cat 命令才能工作,如下所示:
cat File.json | json_pp
方法3:使用 Python 格式化輸出 json 文件
Python 已經(jīng)在大多數(shù)系統(tǒng)中默認(rèn)安裝了,所以我們可以借助 Python 來完成我們的任務(wù)。
要格式化輸出 json 文件,可以使用 json.tool,如下所示:
python3 -m json.tool File.json
方法4:使用 json_xs
該方法不會在終端中顯示任何結(jié)果,但是會對文件本身進(jìn)行更改。這也是我們所列的 4 種方法中唯一一個可以直接保存更改的方法。
比如,我們將格式化后的文件保存到名為 Structured.json 的新文件中:
Structured.json
-
Linux
+關(guān)注
關(guān)注
87文章
11459瀏覽量
212789 -
文件
+關(guān)注
關(guān)注
1文章
578瀏覽量
25204 -
JSON
+關(guān)注
關(guān)注
0文章
121瀏覽量
7260
發(fā)布評論請先 登錄
NOKIA手機(jī)怎么格式化
[小技巧]給Keil5添加代碼格式化插件
筆記本硬盤維護(hù)之格式化篇
筆記本硬盤格式化幾點須知
如何格式化硬盤
如何格式化c盤
格式化對硬盤有傷害嗎_硬盤格式化后數(shù)據(jù)還能恢復(fù)嗎
格式化是什么
python字符串格式化

評論