解决json中ensure_ascii=False的问题
2020-04-06 12:06
3371 查看
在使用json.dumps时要注意一个问题
>>> import json >>> print json.dumps('中国') "\u4e2d\u56fd"
输出的会是:'中国' 中的ascii 字符码,而不是真正的中文。
这是因为json.dumps 序列化时对中文默认使用的ascii编码.想输出真正的中文需要指定ensure_ascii=False:
>>> import json >>> print json.dumps('中国') "\u4e2d\u56fd" >>> print json.dumps('中国',ensure_ascii=False) "中国" >>>
补充知识:python json.loads json.dumps(ensure_ascii = False) 汉字乱码问题解决
我们在post请求数据时,响应的内容是json数据,但是返回的json数据中文显示有问题,变成 \uXXX的形式。这是因为中文以 unicode 编码了,而默认是以ASCII解析的,中文不在ASCII编码中,所以无法显示。
这时候我们可以用 import json 然后调用json.loads() 和json.dumps()来使中文正确显示。 下面的代码(data是中文不能正常显示的json串,newjson是处理后中文正常显示的字符串)
import json myjson=json.loads(data) #data是向 api请求的响应数据,data必须是字符串类型的 newjson=json.dumps(myjson,ensure_ascii=False) #ensure_ascii=False 就不会用 ASCII 编码,中文就可以正常显示了
以上这篇解决json中ensure_ascii=False的问题就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- python json.dumps 中的ensure_ascii 参数引起的中文编码问题
- python json.dumps 中的ensure_ascii 参数引起的中文编码问题
- 读写json中文ASCII乱码问题的解决方法
- python json.dumps 中的ensure_ascii 参数引起的中文编码问题
- 读写json中文ASCII乱码问题的解决方法
- Android Please ensure that adb is correctly located at问题解决
- 记解决jQuery $.getJSON() 传递参数中文乱码问题的方法
- 解决JsonFormat日期少一天问题
- 解决FastJson com.alibaba.fastjson.JSONObject cannot be cast to的问题
- Python 3 was configured to use ASCII as encoding for the environment 问题解决
- 关于flask表单验证json数据不通过总是返回False的解决方法(flask wtforms: Validation always false)
- 用fastjson解析json数据顺序问题,用gson完美解决
- C#中另辟蹊径解决JSON / XML互转的问题
- Nginx重启时报错和访问网页时Json格式错误的问题解决
- asp mvc 中重写JsonResult,解决Json返回值序列化问题
- ie下$.getJSON出现问题的解决方法
- android解决读取assets文件夹下的json或txt文件乱码问题
- 【FastJSON】解决FastJson中“$ref 循环引用”的问题<三种方式对应不同需求>
- springMVC实现REST开发详解(补充Json解析问题以及静态文件404错误解决办法)
- 关于Spring4.1+版本的后台返回json问题说明及解决办法