2013-04-30 383 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直接寫入您的文件。