我目前收到一个很长的 JSON,我正试图通过 Python 2.7 从中挑选出 2 条信息。
JSON 大致如下所示:
{
'device': [
{
'serial': '00000000762c1d3c',
'registered_id': '019'
},
{
'serial': '000000003ad192f2',
'registered_id': '045'
},
{
'serial': '000000004c9898aa',
'registered_id': '027'
}
],
}
在此 JSON 中,我正在寻找可能与 JSON 中的序列匹配的特定序列。如果是,它也应该打印出 registered_id。
我试过使用一个简单的脚本,即使没有 registered_id 但我一无所获。:
if '00000000762c1d3c' not in data['device']:
print 'not there'
else:
print 'there'
感谢您的建议!
最佳答案
首先,您的输入不是 json。 Json 使用双引号。但是假设您成功地用 json 加载它,它现在是一个字典,名为 d
。
然后您可以扫描 d
的所有子字典并根据您的值测试 serial
键,使用 any
和生成器找到时停止理解:
print(any(sd['serial']=='00000000762c1d3c' for sd in d['device']))
如果序列号找到 False
,则返回 True
,否则返回。
关于python - 使用 Python 在 JSON 中查找字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41534210/