如何在含多引号的长字符串中提取指定KQL数据?
KQL提取类JSON字符串中owner为0的HeroName
直接用parse_json函数处理带引号的类JSON字符串比extract_all更省心,下面是完整的处理脚本:
// 替换成你的表名和类JSON字段名 YourTable | extend parsed_data = parse_json(json_str) // 如果原字符串是数组结构,用mv-expand拆成单行条目 | mv-expand parsed_data // 过滤owner为0的条目 | where parsed_data.owner == 0 // 提取对应HeroName的key字段 | project hero_name = parsed_data.key // 把结果拼成你要的引号包裹、逗号分隔的格式 | summarize hero_list = strcat_array(make_list(hero_name), '","') | extend hero_list = '"' + hero_list + '"'
步骤说明:
parse_json(json_str):自动解析带引号的类JSON字符串,转换成KQL可操作的动态对象,完美解决引号干扰问题。mv-expand parsed_data:如果原类JSON是数组格式,这一步把数组里的每个元素拆成单独行,方便逐个筛选。- 过滤和提取:直接通过动态对象的属性筛选
owner == 0的条目,再取出key字段作为英雄名。 - 最后用
make_list收集所有符合条件的英雄名,strcat_array拼接成指定格式,再补首尾引号。
内容的提问来源于stack exchange,提问作者AllyTunes
相关产品推荐
相关产品推荐

