首页 > 解决方案 > Python3 - 替换 JSON 对象中的值

问题描述

我正在运行一个返回三个键值对的 API 查询:

{'enabled': True, 'recording': False, 'autoDeletion': False}

我需要分别用1和替换这些值0,以获得:

{'enabled': 1, 'recording': 0, 'autoDeletion': 0}

我试过使用 json.dumps.replace,但我只是从 JSON 编码器模块中得到一个错误列表,最终导致“TypeError:响应类型的对象不是 JSON 可序列化的”,这就是为什么它在代码中被注释掉的原因。

请问有没有一种简单的方法来实现这个看似微不足道的替换?

这是代码

#Make API request
api_response = requests.request("GET", server + query_endpoint, headers=query_headers, data=query_payload)

#api_test = json.dumps(api_response).replace('"true"','"1"')

print(api_response.json())

输出如下所示:

{'enabled': True, 'recording': False, 'autoDeletion': False}

标签: pythonjsonapi

解决方案


我认为.json()返回 a dict,然后这样做,

data = api_response.json()
for k,v in data.items():
    data[k] = int(v)
print(data)

输出:

{'enabled': 1, 'recording': 0, 'autoDeletion': 0}

希望有效!


推荐阅读