Python将JSON文件保存为UTF-8

use*_*258 7 python json utf-8 utf8-decode

我正在尝试将一些UTF-8字符输出到JSON文件.

当我保存文件时,它们的编写方式如下:

{"some_key":"Enviar invitaci\u00f3n privada"}

以上内容有效且有效.当我加载文件并打印'some_key'时,它会在终端显示"Enviartunitaciónprivada".

反正有没有用"some_key"作为编码版本编写JSON文件,像这样?

{"some_key":"Enviartinvitaciónprivada"}

Ble*_*der 15

设置ensure_asciiFalse:

>>> print json.dumps(x, ensure_ascii=False)
{"some_key": "Enviar invitación privada"}
Run Code Online (Sandbox Code Playgroud)

  • 这不会将数据保存到文件中! (2认同)

use*_*532 9

在这里使用Python 3.4.3并使用dump()而不是dumps():

    with open("example.json","w", encoding='utf-8') as jsonfile:
        json.dump(data,jsonfile,ensure_ascii=False)
Run Code Online (Sandbox Code Playgroud)

是将JSON写入UTF-8编码文件的标准方法.

如果您想要转义的代码点而不是文件中的字符,请设置ensure_ascii=True.这会将例如欧洲字符作为\u20ac直接向您的文件.