我有以下嵌套的字典,在下面尝试遍历。好吧,不一定要遍历,但我只想检查标签是否具有值“ EDD”。如果可以,那么我想触发其他操作。
我的问题是,标签键错误不断出现错误。
请执行该操作。
message.data = {
"messages": [{
"to": "wa-id",
"from": "another-wa-id",
"type": "text",
"_vnd": {
"v1": {
"direction": "outbound",
"in_reply_to": "an-earlier-inbound-external-id",
"author": {
"name": "the name of the author",
"type": "SYSTEM | OPERATOR",
},
"labels": [{
"uuid": "the-uuid",
"value": "EDD"
}]
}
}
}, ]
}
我的代码如下:
whatsapp_contact_id = message.data
print(whatsapp_contact_id.keys())
list_data = whatsapp_contact_id["messages"]
print(list_data)
for dictionary_data in list_data:
print(dictionary_data)
dictionary_keys = dictionary_data.items()
print(dictionary_keys)
"""
EDD_label = dictionary_data["labels"]
"""
EDD_label = dictionary_data.get('labels', 'could not find')
print("The label is below")
print(EDD_label)
假设结构保持不变,您想要的是:
whatsapp_contact_id = message.data
list_data = whatsapp_contact_id.get("messages")
dictionary_data = list_data.get("_vnd").get("v1")
labels_data = dictionary_data.get("labels")
EDD_label = labels_data.get("value", "could not find")
而且,您似乎已将代码粘贴了三遍。
特别感谢大家@tennoshi。
此作品:
whatsapp_contact_id = message.data
list_data = whatsapp_contact_id.get("messages")
for dictionary_data in list_data:
dictionary_data_2 = dictionary_data.get("_vnd").get("v1")
labels_data = dictionary_data_2.get("labels")
print(labels_data)
for EDD in labels_data:
EDD_string = EDD.get("value", "EDD label not present")
print(EDD_string)```