我正在处理一个项目,在该项目中,我必须从链接中获取数据,然后在从提取的数据中提取需要的信息后,将数据发布到另一个服务器中。我使用我的GET和POST图书馆的请求,而这里的提取所需要的数据的代码:使用Python中的请求在JSON中进行GET和POST POST
''' original data fetched
result= {"version": "1.0","cmd":"list_metering","status":"success","devices":
[{"deviceid":"xxxxx","model":"xxxx"},{"deviceid":"xxxxx","model":"xxxx"}]} '''
for devices in result['devices']:
# delete the parameters I don't need
final_data = removekey(devices,'model')
# x.update(final_data) -> Trying dicts
# x.append(final_data) -> Trying lists
# Sending directly
resp = requests.post(url,json=final_data,headers=headers)
no+=1
if no== len(result['devices']):
break
这就是我会打电话,将删除不需要的键的功能,然后我会拿其余的和张贴它。
我试着对字典使用update()函数,但它没有工作,因为我有相同的密钥,所以只有一个数据会被考虑。列出工作,但我会在这个表单中的数据:
[{"deviceid":"xxxxx","model":"xxxx"},{"deviceid":"xxxxx","model":"xxxx"}]
,我试图用JSON =数据和x.json(),但都没有对列表工作了。然而,如果我直接发送数据,就像在第一个代码中显示的那样,由于延迟,我不太确定还有什么,如果我幸运的话,完整的数据将被发送,否则我会丢失一部分获取的数据。
如何在json中获取数据然后在json中将其发回给这种情况?我的目标是将数据作为一个包发送,所有设备一起发送,所以我不会丢失任何东西。
这里是GET和POST我使用:
# GET
url_source = 'https://website'
url = requests.get(url_source)
result = url.json()
# POST
headers = {'charset':'utf-8','Content-Type':'application/json'}
url = "http://xxxx/_get_v1.php"
data = final_data
resp = requests.post(url,json=data,headers=headers)
你能否使其更加清晰?如果可能的话,添加示例GET/POST请求。 – LittleQ
我会做那个老板。 –