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!!没有报错

猜你喜欢

转载自www.cnblogs.com/caoyinshan/p/11225127.html