3 回答
TA贡献2019条经验 获得超9个赞
ensure_ascii=False
json.dumps()
>>> json_string = json.dumps(u"ברי צקלה", ensure_ascii=False).encode('utf8')>>> json_string'"\xd7\x91\xd7\xa8\xd7\x99 \xd7\xa6\xd7\x a7\xd7\x9c\xd7\x94"'>>> print json_string"ברי צקלה"
io.open()
open()
json.dump()
with io.open('filename', 'w', encoding='utf8') as json_file: json.dump(u"ברי צקלה", json_file, ensure_ascii=False)
open()
io.open()
json
ensure_ascii=False
unicode
str
with io.open('filename', 'w', encoding='utf8') as json_file: data = json.dumps(u"ברי צקלה", ensure_ascii=False) # unicode(data) auto-decodes data to unicode if str json_file.write(unicode(data))
str
bytes
encoding
>>> d={ 1: "ברי צקלה", 2: u"ברי צקלה" }>>> d{1: '\xd7\x91\xd7\xa8\xd7\x99 \xd7\xa6\xd7\xa7\xd7\x9c\xd7\x94', 2: u'\u05d1\u05e8\u05 d9 \u05e6\u05e7\u05dc\u05d4'}>>> s=json.dumps(d, ensure_ascii=False, encoding='utf8')>>> s u'{"1": "\u05d1\u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4", "2": "\u05d1\u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4"}'>>> json.loads(s)['1']u'\u05d1\ u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4'>>> json.loads(s)['2']u'\u05d1\u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4'>>> print json.loads(s)['1']ברי צקלה>>> print json.loads(s)['2']ברי צקלה
>>> s = u'\xd7\x91\xd7\xa8\xd7\x99 \xd7\xa6\xd7\xa7\xd7\x9c\xd7\x94'>>> print s××¨× ×¦×§××>>> print s.encode('latin1').decod e('utf8')ברי צקלה
TA贡献2036条经验 获得超8个赞
import codecsimport jsonwith codecs.open('your_file.txt', 'w', encoding='utf-8') as f: json.dump({"message":"xin chào việt nam"}, f, ensure_ascii=False)
import codecsimport jsonprint(json.dumps({"message":"xin chào việt nam"}, ensure_ascii=False))
TA贡献1891条经验 获得超3个赞
unicode-escape
?
>>> d = {1: "ברי צקלה", 2: u"ברי צקלה"}>>> json_str = json.dumps(d).decode('unicode-escape').encode('utf8') >>> print json_str{"1": "ברי צקלה", "2": "ברי צקלה"}
添加回答
举报