通过restapi拉取数据,剩下的就是一个包含多个列表的Dictionary对象。我在其中一个列表中寻找一个非常具体的数据点,但是列表的实际数量因字典中的每个项目而异。
我已经尝试使用索引等手动拉这个字段,但是由于列表不总是在同一个位置,我的头撞在墙上了。API结果如下所示。
b = [
{'internal': False, 'protocol_parameters': [{'name': 'identifier', 'id': 1, 'value': 'x.x.x.x'}]},
{'internal': False, 'protocol_parameters': [{'name': 'identifier', 'id': 0, 'value': 'y.y.y.y'}, {'name': 'incomingPayloadEncoding', 'id': 1, 'value': 'UTF-8'}]},
{'internal': False, 'protocol_parameters': [{'name': 'incomingPayloadEncoding', 'id': 1, 'value': 'UTF-8'}, {'name': 'identifier', 'id': 0, 'value': 'z.z.z.z'}]}]
for a in b:
c = (a['protocol_parameters'])[0].get('value')
print(c)
当然,这不会正确解析,因为列表的位置不一致,所以我很好奇是否可以解析字典中的所有列表以查找特定的字符串。无论列表位置如何,我的最终目标如下所示。
x.x.x.x
y.y.y.y
z.z.z.z
在本例中,查找包含“标识符”的所有列表。如果这是一个错误,请道歉:)并感谢您抽出时间。