如何在 Linux 終端中漂亮地打印 JSON 文件

JSON文件很棒,因為它們以人類可讀的格式存儲數據集合。 但是,如果 JSON 文件被縮小,讀取 JSON 文件可能會很麻煩。

以此為例:

縮小的 JSON 很難閱讀

計算機可以輕鬆讀取它。 即使是人類仍然可以閱讀它,但如果 JSON 文件的格式正確以顯示內容,它會容易得多。 我的意思是 JSON 文件應該是這樣讀取的:

Pretty Printed JSON 更易於閱讀

您可以使用帶有一些插件的大多數文本編輯器以正確的格式顯示它。 但是,如果您被困在終端中或想在您的 shell 腳本中執行此操作,情況會有所不同。

如果您有一個縮小文件,讓我向您展示如何在 Linux 終端中打印 JSON 文件。

在 Linux 上使用 jq 命令漂亮地打印 JSON

jq是一個命令行 JSON 處理器。 您可以使用它來拆分、過濾、映射和轉換結構化數據。 我不會在這裡詳細介紹如何使用 jq 命令行工具。

要使用 jq,您必須先安裝它。 您可以使用您的發行版的包管理器來安裝它。 啟用 Universe 存儲庫後,您可以將其安裝在Ubuntu使用 apt 命令:

                      
                        sudo apt install jq
                      
                    

安裝後,使用它在屏幕上打印一個 JSON 文件:

                      
                        jq . sample.json
                      
                    

漂亮打印的 JSON 文件

您可能也想使用 cat,但我認為這是 cat 命令毫無意義的用途之一。

                      
                        cat sample.json | jq
                      
                    

請注意,上述命令不會影響原始 JSON 文件。 不會寫入任何更改。

您可能已經知道如何將命令輸出重定向到 Linux 中的文件。 您可能還知道您不能重定向到同一個文件,並且不能保證 tee 命令每次都有效。

如果你想用漂亮的打印格式修改原始 JSON 文件,你可以將解析的輸出通過管道傳輸到一個新文件,然後將其複製到原始 JSON 文件。

                      
                        jq . sample.json > pretty.json
                      
                    

Linux終端中漂亮的打印JSON文件

獎勵:使用 jq 命令縮小 JSON 文件

讓我們採取相反的立場並縮小格式良好的 JSON 文件。 要縮小 JSON 文件,您可以使用 compact -c 選項。

                      
                        jq -c < pretty.json
                      
                    

最小化 JSON 文件顯示

如果需要,您還可以使用 cat 和重定向:

                      
                        cat pretty.json | jq -c
                      
                    

在 Linux 上使用 Python 漂亮地打印 JSON 文件

您更有可能在系統上安裝了 Python。 如果是這種情況,您可以使用它將 JSON 文件打印到終端:

                      
                        python3 -m json.tool sample.json
                      
                    

用 Python 打印 JSON

我知道還有其他方法可以解析 JSON 文件並以正確的格式打印它。 您可以自己探索它們,但這兩個足以完成打印 JSON 文件的工作。


相關文章