Pythonでjson.dumps()
した際に、日本語が文字化けするのを防ぐメモ。
>>> import json
>>> dic = {"hoge":"foo", "fuga":"bar", "piyo":"baz"}
>>> json.dumps(dic)
'{"hoge": "foo", "fuga": "bar", "piyo": "baz"}'
>>> dicj = {"日本語":"項目名", "にほんご":"こうもくめい"}
>>> json.dumps(dicj)
'{"\\u65e5\\u672c\\u8a9e": "\\u9805\\u76ee\\u540d", "\\u306b\\u307b\\u3093\\u3054": "\\u3053\\u3046\\u3082\\u304f\\u3081\\u3044"}'
こんな感じで、単純にjson.dumps()
すると文字化けしてしまいます。この場合、ensure_ascii
オプションでFalse
を指定します。
>>> json.dumps(dicj, ensure_ascii=False)
'{"日本語": "項目名", "にほんご": "こうもくめい"}'
すると、上記のように文字化けが解消されました。