鱼C论坛

 找回密码
 立即注册
查看: 1065|回复: 9

[已解决]这样的data数据应该用什么格式来提交post请求呢

[复制链接]
发表于 2021-7-29 14:30:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
{"address":"1","city":"3","product":[{"Type":1,"Price":50.0,"Id":0565}],"Id":999,"pay9":"050"}

product内是个列表,列表内还是个字典,我的data应该怎样写才可以正确提交了呢?

我的方法

d={"address":"1","city":"3","product":[{"Type":1,"Price":50.0,"Id":0565}],"Id":999,"pay9":"050"}
data=json.dumps(d)再requests的post请求不对
不知道这种格式应该怎样正确提交呢
最佳答案
2021-8-3 18:45:56
cdzjf 发表于 2021-8-3 15:12
是的,不过我是不知道为啥会写成json=data这样的提交方式?以前都是data=data,你这个我还是第一次看到, ...

是的,是requests提供的一种便利的形式,会将字典转为json串并在请求头标明为json数据。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-29 14:38:37 From FishC Mobile | 显示全部楼层
网址?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-29 14:44:54 | 显示全部楼层
直接提交啊,不需要转json了啊  字典而已,
  1. d={"address":"1","city":"3","product":[{"Type":1,"Price":50.0,"Id":0565}],"Id":999,"pay9":"050"}
  2. data=d
复制代码



把格式调整一下就能看清除字典了:
  1. d={"address":"1",
  2.    "city":"3",
  3.    "product":[
  4.        {"Type":1,"Price":50.0,"Id":0565}],
  5.    "Id":999,"pay9":"050"}

复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-29 18:17:55 | 显示全部楼层
本帖最后由 2012277033 于 2021-7-29 18:21 编辑

实际上不需要dumps,可以直接这样写
  1. d={"address":"1","city":"3","product":[{"Type":1,"Price":50.0,"Id":0565}],"Id":999,"pay9":"050"}
  2. respon = requests.post(url,json=d)
复制代码

如果你要以data的方式的话,就要声明请求头
  1. d={"address":"1","city":"3","product":[{"Type":1,"Price":50.0,"Id":0565}],"Id":999,"pay9":"050"}
  2. header={"Content-Type": "application/json; charset=UTF-8"}
  3. respon = requests.post(url,data=d,headers=header)
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-2 14:19:16 | 显示全部楼层
z5560636 发表于 2021-7-29 14:44
直接提交啊,不需要转json了啊  字典而已,

我也觉得应该是,但实际好像不对,因为他这个是字典里面还有个列表,列表里面再来个字典
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-2 14:19:49 | 显示全部楼层
2012277033 发表于 2021-7-29 18:17
实际上不需要dumps,可以直接这样写
如果你要以data的方式的话,就要声明请求头

你这个基本就是直接写了啊,但这里是字典套字典啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-2 14:22:04 | 显示全部楼层
cdzjf 发表于 2021-8-2 14:19
我也觉得应该是,但实际好像不对,因为他这个是字典里面还有个列表,列表里面再来个字典

。。。。。字典里面套字典就不是字典了嘛?
男人和女人生下的孩子就不是人了嘛?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-2 14:29:31 | 显示全部楼层
cdzjf 发表于 2021-8-2 14:19
你这个基本就是直接写了啊,但这里是字典套字典啊

没区别的,因为对于后台服务来说,你提交上来的就是json数据,json是能够这样套的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-3 15:12:06 | 显示全部楼层
2012277033 发表于 2021-8-2 14:29
没区别的,因为对于后台服务来说,你提交上来的就是json数据,json是能够这样套的。

是的,不过我是不知道为啥会写成json=data这样的提交方式?以前都是data=data,你这个我还是第一次看到,这个json在这里的作用就是把data数据转成json?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-3 18:45:56 | 显示全部楼层    本楼为最佳答案   
cdzjf 发表于 2021-8-3 15:12
是的,不过我是不知道为啥会写成json=data这样的提交方式?以前都是data=data,你这个我还是第一次看到, ...

是的,是requests提供的一种便利的形式,会将字典转为json串并在请求头标明为json数据。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 18:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表