2013-04-30 384 views
3

我试图向JSON文件输出一些UTF-8字符。Python将JSON文件保存为UTF-8

当我救他们被写成这样的文件:

{ “some_key”: “投递invitaci \ u00f3n PRIVADA”}

以上是有效的和作品。当我加载文件并打印'some_key'时,它会在终端显示“Enviarinvitaciónprivada”。

有没有办法编写带有“some_key”作为编码版本的JSON文件,像这样?

{ “some_key”: “投递invitaciónPRIVADA”}

回答

9

套装ensure_asciiFalse:使用

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

我仍然看到如下的字符:''而不是'è'而不是'è'有什么建议吗? – 2015-04-12 16:49:11

1

的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直接写入您的文件。