なんでうまくいったのかよくわからないけど、unicodeでいろいろ書いてあるjsonファイルを読み込んでまた書き込みたいときの処理。
import json, codecs ## 読み込み fin = codecs.open(fin_name,'r','utf-8') jdata = json.load(fin) fin.close() ## jdata の処理 ## 書き込み fout = codecs.open(fout_name, 'w', 'utf-8') json.dump(jdata, fout, indent=5, ensure_ascii=False) #indentを設定すると整形される fout.close()