Python 2.7 日语字符串不是';无法正确写入文件

Python 2.7 日语字符串不是';无法正确写入文件,python-2.7,unicode,Python 2.7,Unicode,我正在尝试将对象列表的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

我正在尝试将对象列表的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
with codecs.open("pkmn.json", "w", encoding="utf8") as outfile:
    json.dump([p.dict() for p in pokemon], outfile, indent = 2)
self.names
是一本包含语言id和相应名称的词典,其中一些是日语、韩语和汉语。稍后在我的代码中,我将列表保存为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
with codecs.open("pkmn.json", "w", encoding="utf8") as outfile:
    json.dump([p.dict() for p in pokemon], outfile, indent = 2)
而不是“フシギダネ", "이상해씨", 及"妙蛙種子“,我得到无法阅读的胡言乱语,如下所示。


如何让Python正确地将这些字符串保存到文件中?

嗯……我不知道如何告诉您,但……这是JSON。@IgnacioVazquez Abrams我确实意识到这是JSON,但肯定有某种方法可以让它更具可读性。Welp,我在对JSON.dump的调用中添加了
确保ascii=False
,它正确地保存了所有非ASCI我想,我应该去睡觉了。