Azure资源图KQL多层嵌套JSON数据提取问题求助
KQL嵌套JSON数据提取解决方案
一、CVSS版本评分提取
如果cvss字段是字符串格式的JSON,直接用索引访问会返回null,必须先将其解析为动态对象,再提取对应字段:
// 替换为你的实际表名 YourTableName | extend cvss_dynamic = parse_json(cvss) | extend ['CVSS 2.0 Base'] = cvss_dynamic['2.0'].base, ['CVSS 3.1 Base'] = cvss_dynamic['3.1'].base | project ['CVSS 2.0 Base'], ['CVSS 3.1 Base'] // 按需保留其他字段
如果cvss本身已是动态类型但仍返回null,检查JSON结构是否匹配预期——确认是否存在"2.0"/"3.1"层级,或base字段的键名是否有大小写、拼写差异。
二、容器数组提取
假设容器数组字段名为containers,结构类似[{"name": "容器名", "namespace": "命名空间"}, ...],用mv-expand展开数组后提取字段:
YourTableName | extend containers_dynamic = parse_json(containers) // 若字段为字符串需先解析 | mv-expand containers_dynamic | extend ContainerName = containers_dynamic.name, ContainerNamespace = containers_dynamic.namespace | project ContainerName, ContainerNamespace // 按需保留原表其他字段
内容的提问来源于stack exchange,提问作者Wojciech
相关产品推荐
相关产品推荐

