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

如何用正则表达式提取ADX中JSON数组指定属性的取值列表?

问题:从ADX集群JSON列中提取RailType字段值

需要从ADX集群某列的以下JSON载荷中提取数据:

[
   {
      "RailType":"HE400",
      "InstallationDate":"2017-07-19T16:00:00.0000000Z",
      "CurvePercentage":99.61377338837824
   },
   {
      "RailType":"ONEHH",
      "InstallationDate":"2017-05-21T16:00:00.0000000Z",
      "CurvePercentage":0.3862266116217716
   }
]

当前使用的正则表达式为:

"RailType":(".*?")

但该表达式会匹配整个键值对:

"RailType":"HE400"
"RailType":"ONEHH"

实际需要只提取取值:

HE400
ONEHH

已知用正则解析JSON并非最优方案,但受ADX查询要求限制,必须使用正则完成此任务。


解决方案

通过捕获组仅提取目标值,调整后的正则表达式如下:

"RailType":"(.*?)"

在ADX查询中,可配合extract()函数直接提取,示例语法:

your_table
| extend RailType = extract(@'"RailType":"(.*?)"', 1, your_json_column)

这里的1指定提取第一个捕获组的内容,也就是"RailType":"之后、下一个双引号之前的文本,正好是需要的RailType取值。

如果JSON数组包含多个对象需要批量提取,可结合mv-expand处理,示例:

your_table
| mv-expand parsed_json = parse_json(your_json_column)
| extend RailType = extract(@'"RailType":"(.*?)"', 1, tostring(parsed_json))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 13:17:06