PythonでJSONを整形表示する方法について、いくつかのアプローチがあります。最も一般的な方法は、json.dumps()関数を使い、indentパラメータを指定することです。この関数を使えば、JSONデータを簡単に人間が読みやすい形式に整形できます。

基本的な使用例 - json.dumps()でJSONを整形表示する

Pythonの標準ライブラリに含まれているjsonモジュールを使えば、次のようにしてJSONデータを整形表示できます。

import json
# JSON文字列をロード
data = '{"name": "John", "age": 30, "city": "New York"}'
parsed_data = json.loads(data)
# 整形表示
print(json.dumps(parsed_data, indent=4))

このコードは、次のように読みやすく整形された出力を生成します。

{
    "name": "John",
    "age": 30,
    "city": "New York"
}

JSONファイルを整形表示する方法

Pythonを使ってファイルからJSONデータを読み込み、それを整形表示する場合はjson.load()を使います。

import json
with open('data.json', 'r') as file:
    parsed = json.load(file)
# 整形して表示
print(json.dumps(parsed, indent=4))

コマンドラインでJSONを整形表示する

Pythonをインストールしている場合、コマンドラインからも簡単にJSONファイルを整形表示できます。

python -m json.tool yourfile.json

このコマンドを実行すると、指定したJSONファイルが整形されて表示されます。

pprintモジュールを使った表示

pprintモジュールも整形表示に使用できますが、json.dumps()よりもPythonオブジェクト向けです。特に、pprintはシングルクオートを使うため、標準的なJSON形式とは異なります。そのため、正確なJSONフォーマットが必要な場合はjson.dumps()を使用する方が安全です。

import pprint
pprint.pprint(parsed)

pprintは次のような出力を生成しますが、これは厳密にはJSONとは言えません。

{'name': 'John', 'age': 30, 'city': 'New York'}

Pythonでは、JSONデータを扱う際にjson.dumps()を使用して、読みやすいフォーマットに整形するのが最も簡単で一般的な方法です。また、コマンドラインツールも便利なオプションとして利用できます。