python3编写脚本时遇到的坑......
Posted caoyinshan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3编写脚本时遇到的坑......相关的知识,希望对你有一定的参考价值。
一: 在python中使用request请求post时因为json解析错误导致请求失败
1、在python中使用request请求post时报错
具体代码如下
日志报错:
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: syntax error, expect , actual ident, pos 0, fastjson-version 1.2.36; nested exception is com.alibaba.fastjson.JSONException: syntax error, expect , actual ident, pos 0, fastjson-version 1.2.36
2、用postman请求这个接口,传同样的请求头和参数是可以调通的
3、来思考一下原因
首先,在其他位置这么传参数是可以调通的,那么参数设置是没问题的,
其次,代码肯定是没问题的,因为可以执行,代码的控制台也没报错
最后,反思一下,查看日志中的报错内容,翻译之后貌似是json语法的错误, 难道是Python对json的转换有问题?导致参数以json传入的时候没传进去?
去百度:
python3 文件默认编码是utf-8 , 字符串编码是 unicode
以utf-8 或者 gbk等编码的代码,加载到内存,会自动转为unicode正常显示。
隐隐约约知道病症在哪了,下边这个字典是传的参数
这个字典的参数应该是unicode格式的,没有转换成json格式就传过去了,所以报错
继续百度,怎么将字典转换成json格式
先导入json包,再用json.dumps讲这个字典转换成json格式
代码如下:
执行一下:
OK!!没有报错
以上是关于python3编写脚本时遇到的坑......的主要内容,如果未能解决你的问题,请参考以下文章