接口测试requests.post方法中data与json参数区别
首先说明一下requests的post方法中的data和json传参
requests.post(url,data=data,headers=headers)
requests.post(url,json=json,headers=headers)
- 如果传data,那你必须要保证data传的是一个python中的字典类型
- 如果传json,那你必须保证json传的是一个json类型
1、如果你本来data存的是字典,但是你需要传的是json,
那你就需要把字典转成json格式,然后用json去传递进去
requests.post(url,json=json.loads(data),headers=headers)
json.loads(data)方法返回的是将data字典转成json字符串
---------------------------------------------------~~
2、如果你的data是json的字符串,燃石你想传的是字典类型,
那你就需要把json转成字典格式,然后用data去传递进去
requests.post(url,data=json.dumps(json),headers=headers)
json.dumps(json)方法返回的是将json字符串转成字典
事后说明:
python中的json和字符串是有区别的。具体看我的文章