Python json ライブラリ完全ガイド
Python 標準ライブラリの json は、JSON(JavaScript Object Notation)データを扱うための便利なツールです。本記事では、json ライブラリの基本概念から実践的な使用例までを詳しく解説します。
1. json ライブラリの概要
jsonは Python のデータを JSON 形式に変換したり、JSON を Python データに変換するための標準ライブラリです。- Web API のデータ送受信や、設定ファイルの読み書きに広く活用されます。
- JSON 形式は、軽量で可読性が高いため、さまざまなプログラミング言語で使用されます。
インストール方法
json は Python の標準ライブラリなので、追加のインストールは不要です。
import json
import json
# Python の辞書を JSON 文字列に変換
data = {"name": "Alice", "age": 25, "city": "Tokyo"}
json_string = json.dumps(data)
print("JSON 文字列:", json_string)
import json
# JSON 文字列を Python の辞書に変換
json_string = '{"name": "Alice", "age": 25, "city": "Tokyo"}'
data = json.loads(json_string)
print("Python オブジェクト:", data)
import json
# Python データを JSON ファイルに保存
data = {"name": "Alice", "age": 25, "city": "Tokyo"}
with open("data.json", "w") as f:
json.dump(data, f, indent=4)
import json
# JSON ファイルを Python データに読み込む
with open("data.json", "r") as f:
data = json.load(f)
print("読み込んだデータ:", data)
import json
# 整形された JSON 文字列を生成
data = {"name": "Alice", "age": 25, "city": "Tokyo"}
pretty_json = json.dumps(data, indent=4, ensure_ascii=False)
print(pretty_json)
import json
# JSON のキーをソートして出力
data = {"city": "Tokyo", "name": "Alice", "age": 25}
sorted_json = json.dumps(data, indent=4, sort_keys=True, ensure_ascii=False)
print(sorted_json)
import json
# ネストされた JSON を処理
data = {
"user": {
"name": "Alice",
"details": {
"age": 25,
"city": "Tokyo"
}
}
}
# ネストされた値の取得
print("名前:", data["user"]["name"])
print("年齢:", data["user"]["details"]["age"])
import json
# 2つの JSON オブジェクトをマージ
data1 = {"name": "Alice", "age": 25}
data2 = {"city": "Tokyo", "country": "Japan"}
merged_data = {**data1, **data2}
print(json.dumps(merged_data, indent=4, ensure_ascii=False))
import json
# JSON データ内の特定キーを削除
data = {"name": "Alice", "age": 25, "city": "Tokyo"}
del data["age"]
print(json.dumps(data, indent=4, ensure_ascii=False))
import json
def is_valid_json(json_string):
try:
json.loads(json_string)
return True
except json.JSONDecodeError:
return False
# テスト
json_str = '{"name": "Alice", "age": 25}'
print("JSON が有効か:", is_valid_json(json_str))