オブジェクトのリストの json ダンプをファイルに書き込もうとしています。オブジェクトは次のようになります。
class Pokemon:
def __init__(self, id, names, genus = None):
self.id = id
self.names = names
def dict(self):
return OrderedDict([("id", self.id), ("names", self.names)]) #force specific key order
self.names
言語 ID と対応する名前を含む辞書で、日本語、韓国語、中国語のものもあります。コードの後半で、次のようにリストを JSON に保存します。
with codecs.open("pkmn.json", "w", encoding="utf8") as outfile:
json.dump([p.dict() for p in pokemon], outfile, indent = 2)
しかし、「フシギダネ」、「이상해씨」、「妙蛙種子」の代わりに、以下に示すように、意味不明な意味になります。
Python でこれらの文字列をファイルに適切に保存するにはどうすればよいですか?