Pythonでは標準ライブラリでJSON(JavaScript Object Notation)APIの利用が可能です。
オブジェクトからJSON文字列
次の例はdumpsを用いてPythonオブジェクト(ディクショナリ)からJSON形式の文字列へ変換を行っています。
import json
json_data = {'Python':'python-izm.com',
             'SearchEngine':('google.co.jp', 'yahoo.co.jp')}
print(type(json_data))
encode_json_data = json.dumps(json_data)
print(encode_json_data)
print(type(encode_json_data))
<class 'dict'>
{"Python": "python-izm.com", "SearchEngine": ["google.co.jp", "yahoo.co.jp"]}
<class 'str'>
dumpsを利用して変換を行う前はディクショナリですが、変換後はJSON文字列として利用可能な形となります。
見やすい形で変換
dumpsでindentを指定すると、数値に応じたインデント表示を行います。
import json
json_data = {'Python':'python-izm.com',
             'SearchEngin':('google.co.jp', 'yahoo.co.jp')}
encode_json_data = json.dumps(json_data, indent=4)
print(encode_json_data)
{
    "Python": "python-izm.com",
    "SearchEngin": [
        "google.co.jp",
        "yahoo.co.jp"
    ]
}
JSON文字列からオブジェクト
次の例はloadsを用いてJSON文字列からPythonオブジェクト(ディクショナリ)へ変換を行っています。
import json
json_data = {'Python':'python-izm.com',
             'SearchEngin':('google.co.jp', 'yahoo.co.jp')}
encode_json_data = json.dumps(json_data)
print(type(encode_json_data))
decode_json_data = json.loads(encode_json_data)
print(decode_json_data)
print(type(decode_json_data))
<class 'str'>
{'Python': 'python-izm.com', 'SearchEngin': ['google.co.jp', 'yahoo.co.jp']}
<class 'dict'>
  