json - 在嵌套的 json 列表和字典上运行 json_query()
问题描述
尝试在 ansible playbook 中运行查询。如何获取相应“严重性”值为中等的项目的“名称”,数据如下:
[
[
{
"Name": "CVE-2019-13307",
"Severity": "medium",
"fix_version": null
},
{
"Name": "CVE-2019-13304",
"Severity": "medium",
"fix_version": null
},
{
"Name": "CVE-2019-13305",
"Severity": "medium",
"fix_version": null
},
{
"Name": "CVE-2019-13295",
"Severity": "medium",
"fix_version": null
},
{
"Name": "CVE-2019-13297",
"Severity": "medium",
"fix_version": null
},
{
"Name": "CVE-2019-13391",
"Severity": "medium",
"fix_version": null
},
{
"Name": "CVE-2019-13300",
"Severity": "medium",
"fix_version": null
},
{
"Name": "CVE-2019-15140",
"Severity": "medium",
"fix_version": null
},
{
"Name": "CVE-2019-13306",
"Severity": "medium",
"fix_version": null
},
{
"Name": "CVE-2019-11597",
"Severity": "medium",
"fix_version": null
},
{
"Name": "CVE-2019-11598",
"Severity": "medium",
"fix_version": null
},
{
"Name": "CVE-2020-10251",
"Severity": "medium",
"fix_version": null
}
],
[
{
"Name": "CVE-2020-3910",
"Severity": "high",
"fix_version": null
},
{
"Name": "CVE-2020-3909",
"Severity": "high",
"fix_version": null
}
],
[
{
"Name": "CVE-2018-20225",
"Severity": "medium",
"fix_version": null
}
],
[
{
"Name": "CVE-2013-2099",
"Severity": "medium",
"fix_version": "3.3.2-r1, 3.2.5-r1, 2.6.8, 2.7.3-r1"
}
],
[
{
"Name": "CVE-2019-9740",
"Severity": "medium",
"fix_version": "2.7.172.7, 3.5.73.5, 3.6.93.6, 3.7.43.7"
}
],
[
{
"Name": "CVE-2020-8492",
"Severity": "medium",
"fix_version": null
}
]
]
尝试使用json_query('[[].?Severity== medium
].Name')时,出现以下错误:
fatal: [asd]: FAILED! => {"msg": "JMESPathError in json_query filter plugin:\nBad jmespath expression: Unknown token ?:\n[[].?Severity==`medium`].Name\n ^"}
解决方案
做得很好,我上面的字典是从另一个 json_query() 生成的。我确实在该查询的末尾添加了一个“| flatten”以删除 dict 括号,然后我就能够查询 dict。
推荐阅读
- scikit-learn - word2vec 的余弦相似度
- javascript - 无法在 recordRTC 中记录更高的帧速率
- java - NotifyDataSetChanged 在不同的片段上
- javascript - 没有实现 Celery、Redis 等的长 Django 进程
- spring - 尝试运行 spring 应用程序时出错:java.lang.NoClassDefFoundError: org/springframework/beans/factory/config/BeanDefinitionCustomizer
- python - 如何将具有多个值的列表转换为只有 2 个值的字典?
- php - 使用 php 从服务器下载后 docx 文件已损坏
- javascript - Lodash 按属性排序/排序数组
- r-markdown - knitr kable 文本颜色不呈现
- ios - iOS PWA“添加到主屏幕”-禁用全屏模式