PythonでJSONを整形する方法について説明します。Pythonの標準ライブラリであるjsonを使用します。

JSONを文字列に格納して整形する

Pythonのjsonライブラリを使用して、文字列に格納されたJSONを整形することができます。以下にその方法を示します。

import json

JSON_SAMPLE = '{"_meta": {"hash": {"sha256": "hash"}, "pipfile-spec": 6, "requires": {"python_version": "3.6"}, "sources": [{"name": "pypi", "url": "https://pypi.python.org/simple", "verify_ssl": true}]}}'
data = json.loads(JSON_SAMPLE)
print(json.dumps(data, indent=2))

このコードは、json.loads()でJSON文字列をPythonの辞書に変換し、json.dumps()で辞書を再度JSON文字列に変換します。dumps()indent引数を使用してインデントの大きさを指定します。

JSONをファイルに格納して整形する

JSONがファイルに格納されている場合、json.load()open()を使用して整形することができます。以下にその方法を示します。

import json

JSON_FILE = 'data.json'
with open(JSON_FILE) as f:
    data = json.load(f)
print(json.dumps(data, indent=2))

このコードは、json.load()でJSONファイルをPythonの辞書に変換し、json.dumps()で辞書を再度JSON文字列に変換します。dumps()indent引数を使用してインデントの大きさを指定します。

シンタックスハイライトを付けて整形する

シンタックスハイライトを付けてJSONを表示するには、pygmentsライブラリを使用します。以下にその方法を示します。

import json
from pygments import highlight
from pygments.lexers import JsonLexer
from pygments.formatters import TerminalFormatter

JSON_SAMPLE = '{"_meta": {"hash": {"sha256": "hash"}, "pipfile-spec": 6, "requires": {"python_version": "3.6"}, "sources": [{"name": "pypi", "url": "https://pypi.python.org/simple", "verify_ssl": true}]}}'
data = json.loads(JSON_SAMPLE)
formatted_data = json.dumps(data, indent=2)
print(highlight(formatted_data, JsonLexer(), TerminalFormatter()))

このコードは、json.loads()でJSON文字列をPythonの辞書に変換し、json.dumps()で辞書を再度JSON文字列に変換します。その後、highlight()関数を使用してシンタックスハイライトを付けます。

以上がPythonでJSONを整形する方法です。これらの方法を使用することで、JSONを見やすく整形することができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です