我正在尝试从这个json文件中获取一个特定的密钥vulnerabilityID和vulnerabilitySoln。这是向json脚本底部的方向。
{
"vulnerabilities": [
{
"labels": [
{
"labelKey": "com.acme.image.source",
"labelValue": "http://github.com/base-image.git"
},
{
"labelKey": "BA",
"labelValue": "abc"
},
{
"labelKey": "OwnerContact",
"labelValue": "john.doe@gmail.com"
}
],
"repositoryDigest": [
{
"digest": "9089",
"repository": "frost/micro",
"registry": "artifactory.acme.com"
}
],
"artifactorySha": "4324",
"imageID": "er34342",
"createdTimestamp": "2022-10-17",
"engineeringEID": "afd343",
"vulnerabilities": [
{
"test1": "12444",
"test2": "433w",
"vulnerabilityID": "12345",
"vulnerabilitySoln": "http://website.com"
}
]
}
]
}下面是我尝试的代码
import json
import smtplib
with open("dummy.json") as json_file:
data = json.load(json_file)
def vulnData():
for i in data["vulnerabilities"]:
vulnID = (i["vulnerabilities"]["vulnerabilityID"])
vulnSoln = (i["vulnerabilities"]["vulnerabilitySoln"])
print(vulnID, vulnSoln)
vulnData()这是我得到的错误输出-- TypeError:列表索引必须是整数或切片,而不是str。请建议我如何获得特定的价值。
vulnID = (i["vulnerabilities"]["vulnerabilityID"])
TypeError: list indices must be integers or slices, not str发布于 2022-10-30 19:17:33
其中还有两个层次的清单:
def vulnData():
for i in data["vulnerabilities"]:
vuln = i["vulnerabilities"][0]
vulnID = vuln["vulnerabilityID"]
vulnSoln = vuln["vulnerabilitySoln"])
print(vulnID, vulnSoln)https://stackoverflow.com/questions/74255754
复制相似问题