猿问

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

问题总结:


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


data = json.loads(response.text)


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


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?


小怪兽爱吃肉
浏览 168回答 2
2回答

慕后森

>>> myDict = {"testing": 1, "testing2": 2, "my_key": 3}>>>>>>>>> def updatedata(data):...     k = 'my_key'...     for key, val in data.items():  # use a different variable to reduce confusion...         if key == 'my_key':...             data[key] = 'True'  # specify the key, not the value...     return data  # optional, unless you want to save into a new variable...>>>>>> updatedata(myDict)>>> myDict{'testing': 1, 'testing2': 2, 'my_key': 'True'}>>>
随时随地看视频慕课网APP

相关分类

Python
我要回答