一. 传参问题
传参较复杂的如下图,item_info是个数组格式,receiver_info是个字典格式,执行后提示参数只能是str类型,不能用数组。

把item_info,receiver_info这2个参数外面加一个单引号就好了。就能执行成功

二 post参数data和json区别
data:
数据报文: dict字典类型,默认请求头:appilcation/x-www-form-urlencoded,表示以form 表单的方式传参,格式:a=1&b=2
数据报文:str类型,默认请求头:text/plain
json:
数据报文:不管是dict花生str类型,默认请求头:application/json,格式:{“a”:1,“b”:2}
三 转换
json.dumps(data) 序列化 把dict格式转换成str格式
json.loads(data) 反序列化 把str格式转换成dict格式
上面我用json=data1能下单成功,如果用data那就序列化下也能下单成功data=json.dumps(data1)


本文探讨了Python中API调用时的参数传递问题,特别是处理复杂数据结构如数组和字典的情况。遇到错误提示参数必须为str类型时,解决方案是将这些数据类型包裹在单引号内。同时,区分了HTTP请求中data和json参数的区别,data常用于form表单格式,而json则适用于application/json格式。文章还介绍了json.dumps()和loads()函数在字典与字符串间转换的作用,并通过实例展示了如何正确使用它们来确保API调用的成功。

789

被折叠的 条评论
为什么被折叠?



