Python 解析字典中的字典列表以检索特定键';每个字典中的值
我得到了一个JSON响应,并使用Python 解析字典中的字典列表以检索特定键';每个字典中的值,python,json,dictionary,Python,Json,Dictionary,我得到了一个JSON响应,并使用JSON.loads()将其转换为python字典。因此,字典如下所示: {u'body': u'[{"id":"1","entity":"zone","status":"PROCESSING","url":null,"createdOn":"2019-10-11T05:49:11Z"},{"id":"2","entity":"floor","status":"FAILED","url":null,"createdOn":"2019-10-11T05:49:15Z
JSON.loads()
将其转换为python字典。因此,字典如下所示:
{u'body': u'[{"id":"1","entity":"zone","status":"PROCESSING","url":null,"createdOn":"2019-10-11T05:49:11Z"},{"id":"2","entity":"floor","status":"FAILED","url":null,"createdOn":"2019-10-11T05:49:15Z"},{"id":"3","entityType":"apartment","status":"SUCCESS","url":null,"createdOn":"2019-10-11T05:49:18Z"}]',u'isBase64Encoded': False, u'statusCode': 200}
我将其命名为testStatusList
。我想检索“body”
中每个字典的“status”
键的值。我能够通过给出body=testStatusList['body']
来检索“body”
。现在,字典看起来像:
[
{
"id": "1",
"entityType": "zone",
"status": "PROCESSING",
"url": null,
"createdOn": "2019-03-07T12:47:10Z"
},
{
"id": "2",
"entityType": "floor",
"status": "FAILED",
"url": null,
"createdOn": "2019-08-19T16:46:13Z"
},
{
"id": "3",
"entityType": "apartment",
"status": "SUCCESS",
"url": null,
"createdOn": "2019-08-19T16:46:13Z"
}
]
我尝试过这个解决方案[
但我一直在获取AttributeError:“unicode”对象没有属性“items”
。是否有其他方法获取unicode对象的项
因此,我基本上希望检索所有状态,即PROCESSING、FAILED和SUCCESS,以便在某个特定“id”出现故障时设置“if”条件以显示适当的消息。我对我的方法非常不确定,因为我对Python一无所知。任何帮助都将不胜感激!谢谢!正文仍然是(unicode)顶部blob中的字符串。使用json。再次在该字符串上加载:
body = """[
{
"id": "1",
"entityType": "zone",
"status": "PROCESSING",
"url": null,
"createdOn": "2019-03-07T12:47:10Z"
},
{
"id": "2",
"entityType": "floor",
"status": "FAILED",
"url": null,
"createdOn": "2019-08-19T16:46:13Z"
},
{
"id": "3",
"entityType": "apartment",
"status": "SUCCESS",
"url": null,
"createdOn": "2019-08-19T16:46:13Z"
}
]"""
import json
body = json.loads(body)
status =[]
for b in body:
for k,v in b.items():
if k == 'status':
status.append(v)
print(status)
结果:
[‘处理’、‘失败’、‘成功’]
好吧,这对我来说很有效!我不知道我得再装一次尸体。谢谢!
body = """[
{
"id": "1",
"entityType": "zone",
"status": "PROCESSING",
"url": null,
"createdOn": "2019-03-07T12:47:10Z"
},
{
"id": "2",
"entityType": "floor",
"status": "FAILED",
"url": null,
"createdOn": "2019-08-19T16:46:13Z"
},
{
"id": "3",
"entityType": "apartment",
"status": "SUCCESS",
"url": null,
"createdOn": "2019-08-19T16:46:13Z"
}
]"""
import json
body = json.loads(body)
status =[]
for b in body:
for k,v in b.items():
if k == 'status':
status.append(v)
print(status)