【发布时间】:2019-09-14 10:00:16
【问题描述】:
在下面的 Json 文件中,我试图提取“名称”:“abcd”、“版本”:“1.0.2”和“严重性”:“中”。
"status": "scanned",
"data": {
"Layer": {
"IndexedByVersion": 3,
"NamespaceName": "debian:9",
"ParentName": "e762",
"Name": ".4530bfac-5e99-4138-b071-4286c06669a3",
"Features": [
{
"Name": "openssl1.0",
"VersionFormat": "dpkg",
"NamespaceName": "debian:9",
"AddedBy": "85aa73fb8281cc252ed7e151f10386f36588ec6c967d45136103a4e1e705a81c.01bc7eff-9a5d-43f5-ab14-2e3e470cba77",
"Version": "1.0.2q-1~deb9u1",
"Vulnerabilities": [
{
"Severity": "Medium",
"NamespaceName": "debian:9",
"Link": "xxxx",
"FixedBy": "1.0.2r-1~deb9u1",
"Description": " n must call SSL_shutdown() twice even if a protocol error has occurred (applications should not do this but some do anyway). Fixed in OpenSSL 1.0.2r (Affected 1.0.2-1.0.2q).",
"Name": "CVE-2019-1559",
"Metadata": {
"NVD": {
"CVSSv2": {
"Score": 4.3,
"Vectors": "AV:N/AC:M/Au:N/C:P/I:N"
}
}
}
}
]
},
{
"VersionFormat": "dpkg",
"NamespaceName": "debian:9",
"Version": "0.16-1+deb9u1",
"Name": "libidn2-0",
"AddedBy": "85aa73fb8281cc252ed7e151f10386f36588ec6c967d45136103a4e1e705a81c.01bc7eff-9a5d-43f5-ab14-2e3e470cba77"
},
{
"VersionFormat": "dpkg",
"NamespaceName": "debian:9",
"Version": "0.29-4",
"Name": "pkg-config",
"AddedBy": "4d2169f1dc7652ffd2a4f32d2c0ae2
},
{
"Name": "nettle",
"VersionFormat": "dpkg",
"NamespaceName": "debian:9",
"AddedBy": "7494d6c991278b43e8388f7cec2f138075
"Version": "3.3-1",
"Vulnerabilities": [
{
"Severity": "Low",
"NamespaceName": "debian:9",
"Link": "xxxx",
"Description": "er.",
"Name": "CVE-2018-16869",
"Metadata": {
"NVD": {
"CVSSv2": {
"Score": 3.3,
"Vectors": ":P"
}
到目前为止,我可以使用下面的 jq 命令提取名称和版本的值。
jq -r '.data.Layer| .Features[] | "\(.Name) \(.Version)"' status.json
但是当我尝试使用以下命令提取“严重性”字段的值时
`jq -r '.data.Layer| .Features[] | "\(.Name) \(.Version)"| .Vulnerabilities[].Severity' status.json`
我在标题中收到错误消息。
Required output: abcd 12.0 medium
非常感谢任何帮助。
【问题讨论】:
-
您能否将问题中的示例文档扩展为minimal reproducible example?现在,输入文档的示例子集不符合语法(打开它不会关闭的结构),不是最小的(包括与输出无关的内容),并且不执行失败案例(你想要忽略没有漏洞的项目,但不显示任何漏洞)。