python - 如何通过 JSON 搜索找到与值字符串匹配的所有键?
问题描述
这可能真的很简单,但是我在 python 中的编程技巧很糟糕
我有一个从 API 获得的大型 JSON 文件。
我需要为具有特定值的所有内容找到所有应用程序(json 的顶级)
{
"app_id": XXXXX,
"name": "Batman Test App for Application CI",
"team_name": "XXXXXX",
"release_train": "Operations Engineering",
},
以上是 JSON 的示例,我需要在 JSON 中找到所有具有 team_name: myval 或具有 release_train: my value 的所有内容。
我希望这是有道理的。
我已经加载了 json.load() 使内容成为字典,但我仍在试图找出最好的方法来做到这一点。
就像我说的那样,这对我来说似乎很直接,但我很难弄清楚。
解决方案
一个选项将只是过滤掉您不需要的所有其他内容。您可以为此利用 dict 理解。例如:
import json
json_as_dict = json.loads(your_json)
filtered = {key:value for json_as_dict.items() if key == "team_name" and value == "myval" or key == "release_train" and value == "my value"}
推荐阅读
- python - Python 文字游戏工作
- python - 在不关心结果的情况下并行运行任务的最佳方法是什么?
- python - 使用python,pandas将相同的ID行从excel复制到另一个
- sql - 根据以前的记录减少结果 + LINQ + SQL
- html - 一些输入节点比其他节点大并且与标签节点重叠
- java - 在 Mac 中使用 Java 15 (openjdk)
- spring-boot - 如何在 Spring Boot 中使用 sql 文件填充 H2 DB UUID 主键
- javascript - bootstrapValidator.min.js:10 Uncaught TypeError: Cannot read property 'group' of undefined at b.updateStatus (VM35395 bootstrapValidator.min.js:10)
- amazon-redshift - 如何在 AWS REDSHIFT 中使现有列不为空?
- angular - 如何测试异步函数中设置的变量?