You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用KQL解析Log Analytics中括号双引号包裹的字符串

KQL解析Tags_s字段提取方括号内文本实现方案

原有parse语句仅以左方括号作为匹配截断起点,未覆盖包裹文本的双引号、末尾右方括号匹配规则,因此返回结果会携带"name"]类冗余字符;直接匹配双引号返回空值,是因为KQL中双引号为字符串边界标识,未做转义或包裹处理时会被识别为语法标记而非待匹配字符。以下为两种可直接批量执行的落地方案:

  • 方案1:固定格式精准匹配(性能最优,适配当前所有数据为["字符串值"]的单值结构)
    针对固定格式做全段匹配,无多余计算逻辑,2.8万条数据可毫秒级返回结果:

    | parse Tags_s with * '["' extracted_tag '"]' *
    

    解析完成后extracted_tag字段即为目标纯文本内容,无方括号、双引号等冗余符号。

  • 方案2:原生JSON类型解析(兼容性更强,适配后续字段格式迭代)
    Tags_s字段本身为标准JSON数组格式字符串,可直接转换为KQL原生动态类型取值,后续如果字段升级存储多标签值(如["标签1","标签2"])也可直接兼容:

    | extend extracted_tag = parse_json(Tags_s)[0]
    

    后续处理多值标签时,只需追加| mv-apply extracted_tag on (where isnotempty(extracted_tag))即可将所有标签拆分为多行,无需重写解析逻辑。

异常数据排查:如果运行后存在部分空值,可执行以下语句筛选不符合格式的脏数据单独处理:

| where Tags_s !startswith '["' or Tags_s !endswith '"]'

内容的提问来源于stack exchange,提问作者Hudson Carpenter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 15:18:15