Python JSON パーサーおよびバリデーター
Python で JSON を読み取り、検証、変更、シリアル化する方法を学びます。現実的な例を使用して、組み込みの json ライブラリをマスターします。
概要
JSON (JavaScript Object Notation) は、Web 上でデータを交換するための標準形式です。 Python には、JSON 文字列を Python 辞書に、またはその逆に変換する「json」という名前の強力な組み込みモジュールが用意されています。
このモジュールは、JSON 文字列を直接処理するための `loads` と `dumps` と、ファイル ストリームからデータを直接読み書きするための `load` と `dump` という 2 つの主要な操作セットを公開します。
JSON を使用する場合、エラー処理は重要です。文字列構文が壊れている場合、Python は「json.JSONDecodeError」を発生させます。これは、パブリック API からペイロードを使用するときにキャッチすることが不可欠です。
コードと実行の出力
JSON 文字列の検証、辞書の解析、変更、およびきれいな出力を示すスクリプト。
json_demo.py
エディターで試してみるimport json
raw_json = """
{
"status": "success",
"data": {
"user_id": 9042,
"username": "coder_xyz",
"roles": ["admin", "developer"],
"verified": true
}
}
"""
try:
# Parsing JSON string into Python dict
data = json.loads(raw_json)
print("--- JSON Decoded Successfully ---")
print(f"Username: {data['data']['username']}")
print(f"Is Admin: {'admin' in data['data']['roles']}")
# Mutating Python dict
data['data']['verified'] = False
data['data']['last_login'] = "2026-05-25"
# Serializing dict back to formatted JSON
pretty_json = json.dumps(data, indent=4)
print("\n--- Modified JSON String ---")
print(pretty_json)
except json.JSONDecodeError as e:
print(f"Invalid JSON Format: {e}")端子出力
--- JSON Decoded Successfully ---
Username: coder_xyz
Is Admin: True
--- Modified JSON String ---
{
"status": "success",
"data": {
"user_id": 9042,
"username": "coder_xyz",
"roles": [
"admin",
"developer"
],
"verified": false,
"last_login": "2026-05-25"
}
}段階的な実装
- アプリケーション構成と認証情報ファイルの読み取り
- REST API エンドポイントからの応答を解析する
- デスクトップユーティリティでのプログラムの状態またはレベルの保存
よくある質問
Python のダンプとダンプの違いは何ですか?
「dumps」はオブジェクトを JSON 文字列形式にシリアル化し、「dump」はシリアル化された JSON ストリームを書き込み可能なファイル オブジェクトに直接書き込みます。
Python は JSON の null 値をどのように処理しますか?
Python の「json」デコーダは、JSON の「null」を「None」に、「true」と「false」を「True」と「False」に、配列をリストに自動的にマッピングします。