🐍 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で囲みましょう。