如图,我想把一个字符串转换成 json,转换之后 json 还带着两边的引号,会导致请求失败(不带引号才能请求成功),
请教下大佬这种问题该如何处理?
看到下面大佬回复我再解释一下为啥要将这个字符串转成 json:
data 是我要传输 json 的数据,虽然看着不像是 json 格式的,但是我得按 json 传。
就像下图的 postman 中的这样
为啥得这么传,因为接口只接收这样的参数,
如果我不使用 json 传,会报格式错误:
所以我需要将这个 data 转换成 json 然后再给接口传参。
试试 requests.post(url=url, data=data)
也就是使用 requests 的时候,不要用 json 参数,而是用 data 参数,然后 data 参数的值就是你加密后的字符串,不需要再组装厂字典格式
就算去掉引号,你那也不是一个 json 串的格式
data = {"username": username, "password": password}
json 串应该是这种,对应 python 中的 dict
看你的截图和你的描述,我是没看懂你到底想干啥。正常的字符串和 json 互转,用 json.loads() 和 json.dumps() 就可以啊
后端这个样子设计参数真的不会被怼吗
这个应该是加密之后的数据,试试这段 json 传参
{
"": "XSTTjLu84dm4U7pV5yvI1rgar+9oTHzY9EqYZKzlUhlNk60cOWjwydhIdRmNJvLjQOLFcM8W1wgXEkZuZf3ix55tBuqz9i+r+ZvTuCfJxBzCYrZeACWLA85HFqMcVNWF"
}
试试 requests.post(url=url, data=data)
也就是使用 requests 的时候,不要用 json 参数,而是用 data 参数,然后 data 参数的值就是你加密后的字符串,不需要再组装厂字典格式
headers 里面约定 Content-Type: application/json 就行了,还需要转什么 json,你这个就不是 json
eval() 可以去除两边的引号,自动识别格式。可以用这个吗