2012-08-01 11 views
18

Dumping una stringa che contiene caratteri Unicode come JSON produce strane sequenze di escape Unicode:Python JSON carica/scarica interruzioni Unicode?

text = "⌂⚘いの法嫁" 
print(text) # output: ⌂⚘いの法嫁 

import json 
json_text = json.dumps(text) 
print(json_text) # output: "\u2302\u2698\u3044\u306e\u6cd5\u5ac1" 

mi piacerebbe ottenere questo output invece:

"⌂⚘いの法嫁" 

Come posso scaricare i caratteri Unicode come caratteri invece delle sequenze di fuga?

+0

come su: json_string = unicode (r.text) – zinking

+1

Non è rotto; '\ u' _four-hex-digits_ è una rappresentazione consentita di un carattere Unicode in JSON. –

risposta

31

chiamata json.dumps con ensure_ascii=False:

json_string = json.dumps(json_dict, ensure_ascii=False) 

su Python 2, il valore di ritorno sarà unicode invece di str, così si potrebbe desiderare di encode prima di fare qualsiasi altra cosa con esso.