如何漂亮列印 JSON 檔案

Jinku Hu 2023年1月30日
  1. json.dumps 方法
  2. pprint 方法
如何漂亮列印 JSON 檔案

如果將 JSON 檔案的內容讀入字串或 load 到字串中,則內容可能會有些混亂。

例如,在一個 JSON 檔案中,

[{"foo": "Etiam", "bar": ["rhoncus", 0, "1.0"]}]

如果你 load 然後再列印它,

import json

with open(r"C:\test\test.json", "r") as f:
    json_data = json.load(f)

print(json_data)
[{"foo": "Etiam", "bar": ["rhoncus", 0, "1.0"]}]

與我們通常看到的標準格式相比,標準格式的可讀性強。

[
  {
    "foo": "Etiam",
    "bar": [
      "rhoncus",
      0,
      "1.0"
    ]
  }
]

json.dumps 方法

json.dumps() 函式將給定的物件序列化為 JSON 格式的 str

我們需要在 json.dumps() 函式中給關鍵字引數 indent 一個正整數,以使用給定的縮排級別漂亮地列印 obj 出來。如果 ident 將其設定為 0,則只會插入新行。

import json

with open(r"C:\test\test.json", "r") as f:
    json_data = json.load(f)

print(json.dumps(json_data, indent=2))
[{"foo": "Etiam", "bar": ["rhoncus", 0, "1.0"]}]

pprint 方法

pprint 模組提供了漂亮列印 Python 資料結構的功能。pprint.pprint pretty 將 Python 物件列印出之後,然後換行。

import json
import pprint

with open(r"C:\test\test.json", "r") as f:
    json_data = f.read()
    json_data = json.loads(json_data)

pprint.pprint(json_data)

JSON 檔案資料內容將被漂亮地列印出來。你還可以通過分配 indent 引數來定義縮排。

pprint.pprint(json_data, indent=2)
Attention

pprint 對待單'引號和雙引號"相同,但 JSON 只能使用",因此,pprinted JSON 檔案內容不能直接儲存到檔案中。

否則,新檔案將不會被解析為有效 JSON 格式。

作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 創辦人。Jinku 在機器人和汽車行業工作了8多年。他在自動測試、遠端測試及從耐久性測試中創建報告時磨練了自己的程式設計技能。他擁有電氣/ 電子工程背景,但他也擴展了自己的興趣到嵌入式電子、嵌入式程式設計以及前端和後端程式設計。

LinkedIn Facebook

相關文章 - Python JSON