json 文件是以人類可讀形式存儲(chǔ)數(shù)據(jù)的首選文件,但是當(dāng)它們被壓縮編寫(不帶縮進(jìn)及換行格式)時(shí),讀起來就不那么容易了。
當(dāng)然,即便是壓縮編寫,其依然是人類可讀的方式,但是保持一個(gè)良好的編寫格式,會(huì)更易讀。如下圖所示:
在本篇文章中,我們使用如下非結(jié)構(gòu)化的 json 文件作為演示的例子:
{"menu": {"id": "file","value": "File","popup": {"menuitem": [{"value": "New", "onclick": "CreateNewDoc()"},{"value": "Open", "onclick": "OpenDoc()"},{"value": "Close", "onclick": "CloseDoc()"}]}}}
下面我們來分享幾個(gè)格式化輸出 json 文件的方法。
方法1:使用 jq 命令
jq 是一個(gè)命令行 json 處理器,允許用戶以各種方式修改 json 文件,允許用戶使用各種選項(xiàng)重新格式化 json 文件。
但是默認(rèn)情況下它沒有被安裝在系統(tǒng)中,需要先安裝。在基于 Debian 的系統(tǒng)中,可以使用如下命令安裝 jq:
sudo apt install jq
格式化 json 文件最直接的方法是在文件名前面添加一個(gè)點(diǎn) . :
jq . File.json
jq 允許用戶使用以下兩種方式格式化 json 文件:
- --tab 可以為每個(gè)縮進(jìn)添加一個(gè) tab 縮進(jìn),而不是默認(rèn)的兩個(gè)空格;
- --indent number 允許用戶為每個(gè)縮進(jìn)級(jí)別添加空格(最多8個(gè))。
比如,我們?yōu)槊總€(gè)縮進(jìn)添加 4 個(gè)空格,可使用如下方式:
jq . --indent 4 File.json
方法2:使用 json_pp
json_pp 是一個(gè) 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
該方法不會(huì)在終端中顯示任何結(jié)果,但是會(huì)對(duì)文件本身進(jìn)行更改。這也是我們所列的 4 種方法中唯一一個(gè)可以直接保存更改的方法。
比如,我們將格式化后的文件保存到名為 Structured.json 的新文件中:
Structured.json
-
Linux
+關(guān)注
關(guān)注
87文章
11345瀏覽量
210389 -
文件
+關(guān)注
關(guān)注
1文章
570瀏覽量
24822 -
JSON
+關(guān)注
關(guān)注
0文章
119瀏覽量
7011
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
NOKIA手機(jī)怎么格式化
[小技巧]給Keil5添加代碼格式化插件
格式化硬盤
筆記本硬盤維護(hù)之格式化篇
筆記本硬盤格式化幾點(diǎn)須知
如何格式化硬盤
如何格式化c盤
格式化對(duì)硬盤有傷害嗎_硬盤格式化后數(shù)據(jù)還能恢復(fù)嗎
格式化是什么
python字符串格式化
![python字符串<b class='flag-5'>格式化</b>](https://file.elecfans.com//web2/M00/31/BC/pYYBAGITTRWAX1MzAAAyAE5RuKs807.png)
Linux磁盤格式化和掛載介紹
如何在Linux命令行中格式化輸出xml
![如何在Linux命令行中<b class='flag-5'>格式化</b><b class='flag-5'>輸出</b>xml](https://file.elecfans.com/web2/M00/8A/69/poYBAGO_1KeAUZmCAAEeNBWntjo994.jpg)
評(píng)論