python - 使用 Python 在 JSON 中查找字符串

标签 python json

我目前收到一个很长的 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/

相关文章:

ios - 将 Codable 结构编码为 JSON 后如何存储数据

php - 使用 PHP 将 JSON 保存到 mySQL

java - 使用 Jackson Streaming API 从数组中提取对象

MySQL 与 PostgreSQL JSON 搜索功能

python - 每当我在 python 中使用 selenium webdriver 下载文件时获取 .part

python - 如何使用 python 提取推送到标准输出的数据?

Python:调用方法返回 <[object] at [pointer]> 而不是 object

python - 在循环中按索引遍历列表列表,以重新格式化字符串

python - 根据条件更改列的值

c# - json.net反序列化为对象数组c#