首页 > 解决方案 > 如何通过 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() 使内容成为字典,但我仍在试图找出最好的方法来做到这一点。

就像我说的那样,这对我来说似乎很直接,但我很难弄清楚。

标签: pythonjsondictionary

解决方案


一个选项将只是过滤掉您不需要的所有其他内容。您可以为此利用 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"}

推荐阅读