19
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

PythonでJSON出力する際、日本語が文字化けする件

●動作環境
  • Winodws 10(Pro 64bit)
  • Python 3.6.7
●事象

Pythonにて、json.dump()でJSONファイルを出力すると日本語が化ける

●原因

書込みの際、文字エンコーディングをUTF-8に指定していないため

●対応

Python標準のcodecsモジュールで書込み時のエンコーディングを
UTF-8に指定することで解決
(2021/02/19 コードサンプルを修正)

import codecs
import json

# ファイル書き込み先用オブジェクトを生成
# なお、これよりもwith句を用いたほうが、クローズ忘れを防げます
JSONFile = '/hoge/hoge.json'
fw = codecs.open(JSONFile , 'w', 'utf-8')

# JSON書き出し
dict = {"ほげ":"ほげ"}
json.dump(dict, fw, ensure_ascii=False)

# 書き込みオブジェクトを閉じる
fw.close()

# /hoge/hoge.jsonに書き出されていることを確認
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
19
Help us understand the problem. What are the problem?