2017-09-06 10:32:32

python使用json序列化中文字符串全是字母

今天用python的json模块去序列化python的字典,字典中的字符串有中文,发现序列化后的中文对应位置都是一串字母。

一开始想的是编码不对,但是我使用的是python3,字符串默认是str类型,存储的文件也是utf-8码,json又不支持直接序列化bytes,所以应该不是编码的问题,再说如果是编码问题,表现出来的现象一般是乱码。

后来发现json.dump参数有个ensure_ascii,我们使用下列代码序列化带有中文的字符串即可。

json.dumps(dict(item), ensure_ascii=False)

ensure_ascii的意思是使用json进行序列化的时候使用ascii码来表示,我们不让它这么做就行了。

Permanent link of this article:http://nulls.cc/post/python_json_chinese_str_display_ascii

-- EOF --