我正在尝试将一些UTF-8字符输出到JSON文件。
当我保存文件时,他们就像这样写:
{“some_key”:“Enviar invitaci \ u00f3n privada”}
以上内容有效且有效。当我加载文件并打印'some_key'时,它会在终端显示“Enviartinvitaciónprivada”。
是否有编写带有“some_key”作为编码版本的JSON文件,如下所示?
{“some_key”:“Enviartinvitaciónprivada”}
答案 0 :(得分:12)
将ensure_ascii
设为False
:
>>> print json.dumps(x, ensure_ascii=False)
{"some_key": "Enviar invitación privada"}
答案 1 :(得分:6)
在此处使用Python 3.4.3并使用dump()
代替dumps()
:
with open("example.json","w", encoding='utf-8') as jsonfile:
json.dump(data,jsonfile,ensure_ascii=False)
是将JSON写入UTF-8编码文件的标准方法。
如果您想要转义的代码点而不是文件中的字符,请设置ensure_ascii=True
。
这会将欧元字符€
直接写为\u20ac
直接写入您的文件。