最近使用requests 传递参数,但是有个参数是多维数组,这个传递过来后,我们接到的是字符串。
例如:
cc= '[[0,0,100,100],[100,0,200,200]]'
eval(cc)=[[0,0,100,100],[100,0,200,200]]
#客户端
location=[[0,0,100,100],[100,0,200,200]]
r = requests.post(server, data={"image_path": image_path,"location":str(location)})
#服务端
location_str=requests.post.get("location")
location=eval(location_str) #这样就可以使字符串变为数组
同时在看文档是,发现如果字典项转json的时候,字典是单引号,但是json需要双引号才能用,所以我们的解决方案是:
>>> import json
>>> data = "{'aa': 0, 'bb': '22'}"
>>> json.loads(data)
Error:json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes
>>> data = json.dumps(eval(data))
>>> print(data)
'{"aa": 0, "bb": "22"}'
print(json.loads(data))
{'aa': 0, 'bb': '22'}
本文探讨了在Python中使用requests库时如何正确处理多维数组参数的传递与接收,通过eval()和json.loads()函数实现字符串到数组及JSON格式的转换,解决常见错误并提供实用技巧。
1405

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



