仕事で必要になったのでメモです。
pythonには jsonという標準ライブラリがあり、
それを使うことで、配列や辞書型のオブジェクトをJSON文字列に簡単に変換することができます。
ドキュメントはこちら。
json — JSON エンコーダおよびデコーダ
インポートして dumps関数を使うだけなので早速やってみましょう。
import json
data = {
"key1": "value1",
"key2": "value2",
"ary1": ["element1", "element2"],
}
json_data = json.dumps(data)
print(json_data)
# 出力
# {"key1": "value1", "key2": "value2", "ary1": ["element1", "element2"]}
ちなみに、json.dumpsを使わず、str(data)
で文字列に変換すると、結果は
"{'key1': 'value1', 'key2': 'value2', 'ary1': ['element1', 'element2']}"
になります。
JSONのルールでは文字列はダブルクオーテーションで囲まないといけないので、
これはJSONではありません。
厳密にJSON型を要求する関数やAPIに渡すときはこれだと受け付けられないので、
json.dumpsを使いましょう。