在项目中,遇到一个问题,更新数据库时,由于字段值存储的是一个字典,需要经过json.dumps(dict)转化成字符串,默认情况下,中文会被转化成ASCII,如果加上ensure_ascii=False,如json.dumps(d,ensure_ascii=False),则中文不会被转换成ASCII保存。
In [1]: import json
In [2]: d = {"name":"刺头","id":1}
In [4]: type(d)
Out[4]: dict
In [5]: json.dumps(d)
Out[5]: '{"name": "\\u738b\\u680b", "id": 1}'
In [6]: type (json.dumps(d))
Out[6]: str
In [7]: json.dumps(d,ensure_ascii=False)
Out[7]: '{"name": "刺头", "id": 1}'
In [8]: type (json.dumps(d,ensure_ascii=False))
Out[8]: str
本文介绍在使用Python处理JSON数据时如何正确保存包含中文的字典。通过设置json.dumps方法中的ensure_ascii参数为False,可以避免将中文字符转为ASCII编码形式,确保中文字符正常显示。
812

被折叠的 条评论
为什么被折叠?



