Pythonのディクショナリ(辞書)をJSONにエンコードするサンプルです。(確認環境:Python 3)
目次
サンプル | ディクショナリを文字列のJSONにする(json.dumps関数) |
ディクショナリをJSONにエンコードする | |
ディクショナリをファイルのJSONにする(json.dump関数) | |
ディクショナリをJSONにエンコードしてファイルに出力する |
ディクショナリを文字列のJSONにする(json.dumps関数)
json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw) |
- json.dumps関数は、JSONにエンコードします。
- 1つめの引数にオブジェクトを指定します。
- 2つめ以降の引数は省略可能です。
- 先頭にimport jsonの記述が必要です。
- 以下はPython公式ドキュメントの JSON エンコーダおよびデコーダのリンクです。
https://docs.python.org/ja/3/library/json.html
ディクショナリをJSONにエンコードする
# coding: utf-8
import json
a = {"t1":"赤",
"t2":"黄",
"t3":"青"}
c = json.dumps(a,ensure_ascii=False)
print (c) #{"t1": "赤", "t2": "黄", "t3": "青"}
d = json.dumps(a,ensure_ascii=False, indent=4)
print (d)
#{
# "t1": "赤",
# "t2": "黄",
# "t3": "青"
#}
4~6行目は、ディクショナリです。
8行目は、json.dumps関数でJSONにしています。
ensure_ascii=Falseがない場合日本語は文字化けします。
12行目は、3つめの引数にindent=4を指定しています。
19~23行目は、インデントされて表示されます。
ディクショナリをファイルのJSONにする(json.dump関数)
json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw) |
- json.dump関数は、JSONにエンコードしてファイルに出力します。
- 1つめの引数にオブジェクトを指定します。
- 2つめ以降の引数は省略可能です。
- 先頭にimport jsonの記述が必要です。
- 以下はPython公式ドキュメントのJSON エンコーダおよびデコーダのリンクです。
https://docs.python.org/ja/3/library/json.html#json.load
ディクショナリをJSONにエンコードしてファイルに出力する
# coding: utf-8
import json
a = {"t1":"赤",
"t2":"黄",
"t3":"青"}
file1 = open('test1.json','w')
json.dump(a,file1,ensure_ascii=False,indent=4)
file1.close()
4~6行目はディクショナリです。
8行目は、open関数でファイルをw(write)で開いています。
10行目は、json.dump関数でJSONを出力しています。
以下は、ファイルに出力されたjsonです。
{
"t1": "赤",
"t2": "黄",
"t3": "青"
}
関連の記事
Python ディクショナリの仕組みと使い方(dictionary)
Python JSONをディクショナリにする(json.loads/load)