Pythonでは、データを扱う際によく使われるのが「辞書型」です。一方、Web APIなどでデータをやり取りする際には「JSON」がよく使われます。これらは見た目が似ているため、初学者は混乱することがあります。しかし、これらは全く異なるもので、それぞれに特徴と用途があります。
JSONと辞書型の違い
結論から言うと、JSONは「データフォーマット」であり、辞書型は「Pythonにおけるデータ型の一種」です。
JSON
JSONは「JavaScript Object Notation」の略で、データ交換用のフォーマットです。JSON形式のデータは文字列として扱われ、そのままでは構造化された情報へのアクセスが容易に行えません。そのため、それぞれのプログラミング言語に応じて適切なデータ型に変換してあげる必要があります。
辞書型
一方、辞書型はPythonのデータ型の一つで、キーと値のペアを保持することができます。辞書型のデータは、キーを指定して値を取得したり、キーの一覧を取得したりすることができます。
JSONと辞書型の相互変換
Pythonでは、json
モジュールを使用してJSONと辞書型の相互変換が可能です。
JSONから辞書型への変換
import json
json_text = '{"name": "Taro", "age": 12, "country": "Japan"}'
d = json.loads(json_text)
print(type(d)) # <class 'dict'>
print(d["name"]) # Taro
辞書型からJSONへの変換
import json
data = {"name": "Taro", "age": 12, "country": "Japan"}
s = json.dumps(data, ensure_ascii=False, indent=2)
print(type(s)) # <class 'str'>
print(s) # {"name": "Taro", "age": 12, "country": "Japan"}
以上、PythonにおけるJSONと辞書型の違いについて解説しました。これらの理解は、Pythonでデータを扱う上で非常に重要です。