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

 

转载于:https://www.cnblogs.com/caoyinshan/p/11225127.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值