【发布时间】:2022-11-15 19:24:33
【问题描述】:
我正在学习python。我遇到了无法克服的 json 问题。
我在 python 中有来自 json 的这个数据集:
{
"Sophos": {
"detected": true,
"result": "phishing site"
},
"Phishtank": {
"detected": false,
"result": "clean site"
},
"CyberCrime": {
"detected": false,
"result": "clean site"
},
"Spam404": {
"detected": false,
"result": "clean site"
},
"SecureBrain": {
"detected": false,
"result": "clean site"
},
"Hoplite Industries": {
"detected": false,
"result": "clean site"
},
"CRDF": {
"detected": false,
"result": "clean site"
},
"Rising": {
"detected": false,
"result": "clean site"
},
"Fortinet": {
"detected": true,
"result": "phishing site"
},
"alphaMountain.ai": {
"detected": true,
"result": "phishing site"
},
"Lionic": {
"detected": false,
"result": "clean site"
},
"Cyble": {
"detected": false,
"result": "clean site"
}
}
我想以只打印那些键和值的方式过滤这些字典“检测到”:真.
例如我只想打印
{
"Sophos": {
"detected": true,
"result": "phishing site"
},
"Fortinet": {
"detected": true,
"result": "phishing site"
}
}
我使用 VirusTotal apikey v2 https://developers.virustotal.com/v2.0/reference/domain-report 我在 python 中的代码:
parameters = {'apikey': api_key, 'resource': domain}
response = requests.get(url, params=parameters)
python_response = json.loads(response.text)
scans = python_response["scans"]
example = json.dumps(python_response["scans"], indent=4)
print(example)
我正在寻找一种简单易读的方法来做到这一点,以便我尽可能地理解它。我想用 Python 打印结果。我为此搜索并阅读了各种解决方案(列表理解或 filter() with lambda),但它对我没有帮助。
我还在学习,如果这是一个简单的案例,请提前感谢您的理解。
预先感谢您的帮助和回答。
【问题讨论】:
标签: python json api dictionary object