一: 在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!!没有报错
原文地址:https://www.cnblogs.com/caoyinshan/p/11225127.html
时间: 2024-10-24 04:13:40