Python Saving JSON Files as UTF-8

倾然丶 夕夏残阳落幕 提交于 2019-12-07 00:16:43

问题


I'm trying to output some UTF-8 characters to a JSON file.

When I save the file they're being written like this:

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

The above is valid and works. When I load the file and print 'some_key' it displays "Enviar invitación privada" in the terminal.

Is there anyway to write the JSON file with "some_key" as the encoded version, like this?

{"some_key": "Enviar invitación privada"}


回答1:


Set ensure_ascii to False:

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



回答2:


Using Python 3.4.3 here and using dump() instead of dumps():

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

is the standard way to write JSON to an UTF-8 encoded file.

If you want the escaped code points instead of the characters in your file, set ensure_ascii=True. This writes for example the Euro-character as \u20ac directly to your file.



来源:https://stackoverflow.com/questions/16291358/python-saving-json-files-as-utf-8

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!