🐍 Python

json.loads() でJSON文字列をPythonオブジェクトに変換する

loads()は「load string」の略で、dumps()の逆にあたるメソッドです。API応答や設定ファイルの中身などのJSON形式の文字列を、Pythonの辞書やリストに変換します。

json.loads(s)  # JSON形式の文字列sをPythonオブジェクトに変換して返す
import json

s = '{"name": "Alice", "age": 30, "active": true}'
obj = json.loads(s)
print(obj)
# {'name': 'Alice', 'age': 30, 'active': True}
print(type(obj))
# 
# 配列・null・真偽値も対応するPython型に変換される
import json

s2 = '[1, 2, 3, "four", null, true]'
print(json.loads(s2))
# [1, 2, 3, 'four', None, True]
# 入れ子構造も再帰的に変換される
import json

s3 = '{"nested": {"a": [1, 2]}}'
print(json.loads(s3))
# {'nested': {'a': [1, 2]}}
JSON値とPython値の対応
true / false / null
それぞれTrue・False・Noneに変換される
{} / []
それぞれdict・listに変換される(JSONにはタプルの概念が無く、常にlistになる)
💡 AIコードレビュー観点:不正な文字列を渡すとJSONDecodeError

AIが生成したコードで、外部から受け取った文字列を無条件にjson.loads()へ渡していると、その文字列がJSONとして不正な場合(空文字列、末尾カンマ、シングルクォート使用など)にjson.JSONDecodeErrorが発生して処理が止まります。信頼できない入力を扱う場合はエラー処理のページで解説するtry/exceptで囲みましょう。

← Python json クイックリファレンス一覧へ戻る / dumpsでJSON文字列に変換する →