gpt4 book ai didi

python - 使用 requests.get 调用 API 后,如何替换返回的 JSON 对象中的键值?

转载 作者:行者123 更新时间:2023-11-30 22:00:49 25 4
gpt4 key购买 nike

问题摘要:

我正在使用 requests.get 调用 API。返回的 JSON 对象作为 JSON 字典保存到变量中:

data = json.loads(response.text)

我需要访问该字典,然后替换其键值之一,然后需要将新字典发布回 API。我通过创建一个函数来尝试这个。该值最初是“False”,我需要将其更改为“True”:

def updatedata(data):
k = 'my_key'
for k, v in data.items():
if k == 'my_key':
data[v] = 'True'

response = requests.get(my_URL, headers=my_headers)
data = json.loads(response.text)
updatedata(data)

newlibary = updatedata()
print(newlibrary)

出现的问题是我无法弄清楚如何在不再次调用原始 JSON 库的情况下更新 JSON 库。如何执行通常的 request.get,然后使用我的函数更改我需要更改的值,然后再次将其 POST 到新的 API 调用(如 requests.post)?

最佳答案

您的示例不会替换该键,而是使用原始键中的值创建一个新条目。如果您需要简单地更新它,则检查键是否在字典中,如果是则更改它,然后返回新结果。另外,您不需要带有请求的 json 库。

import requests

def updatedata(data, key, new_value):
if key in data:
data[key] = new_value
return data

response = requests.get(my_URL, headers=my_headers)
data = response.json()
response = requests.post(myUrl, json=updatedata(data, 'my_key', True))

关于python - 使用 requests.get 调用 API 后,如何替换返回的 JSON 对象中的键值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54226817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com