请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,请教请求参数嵌套字典的问题

老师,我excel里面请求参数直接这样放的:
{“activity_id”:1002037,
“coupon_order_config”: {“coupon_link”:“¢drEzY0¢”,“coupon_tkl”:“¢drEzY0¢”},
“goods_sku”: {“color”:"",“size”:""}
}
value嵌套的字典没有做处理,请求接口后,fiddle里面看:1、接口报红,没有响应值 2、嵌套字典的请求参数分两个字段显示,如图:
图片描述

正确的显示应该是这样:
图片描述

我的修改是:
1、我在excel中,将value嵌套的字典用单引号括起来(如:“goods_sku”: ‘ {“color”:"",“size”:""} ’ ),
这样的话,运行后,fiddle里面就没有请求到这个接口;
2、按照网上的方法,将data单独处理,也不好使;
(网上的方法:datas[‘data’]=json.dump(datas[‘data’]);
或json=data)
所以。老师麻烦指导下,谢谢;

正在回答 回答被采纳积分+3

1回答

Mushishi 2020-09-28 19:01:20

1、这个应该讲解了。复合型的json  就是{“key”:“value”,“key”:json.dumps({"key1":"key2"})}

requests。post(json=data)这样操作 前提是你们的请求数据必须是json提交哈。

如果找不到你就可以抓包看一下你直接请求和代码请求你俩请求数据的区别在哪里。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕用4075421 #1
    老师,我们请求数据是json格式提交;
    我requests.post(json=data1) 还是没有发送请求;
    我将请求参数(data没有做任何处理),url, header,单独拿出来,放在一个py文件执行,接口发送成功的,fiddle里面看请求参数和返回值,都正确的,一模一样的参数,为何放在excel执行就不可以呢?
    回复 有任何疑惑可以回复我~ 2020-09-29 10:23:13
  • Mushishi 回复 提问者 慕用4075421 #2
    那你就requests.post(json=data1) 之前把data1打印出来看一下这个数据有什么区别。
    回复 有任何疑惑可以回复我~ 2020-09-29 20:12:36
  • 提问者 慕用4075421 回复 Mushishi #3
    额,这个问题,我后来有恢复您,按照您说的方法,有解决,可能没发布成功吧,总之,谢谢老师
    回复 有任何疑惑可以回复我~ 2020-09-29 20:32:22
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信