检查json Python的布尔值

pbpqsu0x  于 2022-12-01  发布在  Python
关注(0)|答案(1)|浏览(166)

你好,我是相当新的工作与AWS和SF我正试图发送信息,我需要检查如果我正在检查信息的json列表.我有下一个json列表:

here...b'[{
   "id": "xxxx",
   "success": true,
   "errors": []
   },
   {
   "id": "yyyy",
   "success": true,
   "errors": []
   }
  ]'

在lambda中我做了下一个检查:

response = requests.request("PATCH", url, headers=headers, data=body)
 print('here...'+str(response.content))
if response.status_code == 200:
    for iResult in response.content.b["success"]:
        if iResult["success"] == false:
            raise Exception('Error. Check SF size fields...')

我想确保每个json中的每个'success'都等于True。如果为False,则会引发Exception。因此我做了一个循环来迭代每个json,但问题是我不知道如何正确访问json。让我困惑的是我打印的json中的“b“。有人能帮助我吗?谢谢

2ic8powd

2ic8powd1#

开头的b意味着您有bytes, instead of a string,这意味着您首先必须将响应内容转换为字典(想想Python术语中的json),以便您可以通过它们的键访问响应中的数据。

json_data = response.json()
for sub_dict in json_data:
    if sub_dict ["success"] is False:
        raise ValueError("Check SF size fields...")

更多关于请求的信息。响应:https://requests.readthedocs.io/en/latest/api/#requests.Response

相关问题