Python初心者JSON操作
Python初心者JSON操作
Python初心者のためのJSON入門
JSON(JavaScript Object Notation)は、データ交換の標準フォーマットとして広く使われています。Python初心者でも扱いやすい構文で、文字列と辞書(dict)の相互変換が簡単に行えます。この記事では、jsonモジュールを使った基本的な操作から、APIとの連携までを解説します。
jsonモジュールの基本操作
Pythonに標準で搭載されているjsonモジュールは、load、dump、loads、dumpsの4つの関数で構成されています。loadはファイルオブジェクトからJSONを読み込み、dumpは辞書をファイルに書き出します。loadsは文字列から辞書へ、dumpsは辞書を文字列へ変換します。
import json
# 文字列から辞書へ
data = json.loads('{"name": "Alice", "age": 30}')
# 辞書を文字列へ
json_str = json.dumps(data, indent=2)
print(json_str)
上記の例では、indent=2を指定して可読性の高いJSON文字列を生成しています。
loadとdumpでデータ交換を実践
実際のデータ交換では、ファイルやネットワークから取得したJSONを扱うことが多いです。loadとdumpを使うと、ファイルI/OとJSON変換を一度に行えます。
# JSONファイルを読み込む
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
# 辞書をJSONファイルに書き込む
with open('output.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
ここでensure_ascii=Falseを指定すると、日本語文字列もそのまま出力されます。
APIから取得したJSONを辞書変換する
外部APIからJSONデータを取得する場合、requestsライブラリとjsonモジュールを組み合わせると便利です。以下は、簡単なGETリクエストの例です。
import requests
import json
response = requests.get('https://api.example.com/users/1')
# APIが返す文字列を辞書へ変換
user_data = json.loads(response.text)
# 辞書を使って情報を表示
print(f"名前: {user_data['name']}")
print(f"メール: {user_data['email']}")
このように、APIから取得したJSONはすぐに辞書変換でき、データ操作がスムーズになります。
コメント
コメントを投稿