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

如何用SQL的regexp_extract提取嵌套JSON中的locationID?

提取嵌套JSON中的locationId解决方案

直接用BigQuery的JSON专用函数替代正则,正则不适合处理嵌套JSON结构,推荐以下两种可靠方法:

方法1:使用JSON_VALUE(推荐)

通过JSON路径直接定位嵌套字段,语法简洁且稳定:

SAFE_CAST(JSON_VALUE(h.events.label, '$.userLocation.locationId') AS INT64) AS locationId
  • $.userLocation.locationId是JSON路径:$代表根节点,依次访问userLocation对象下的locationId字段
  • SAFE_CAST用于避免转换失败时报错

方法2:使用JSON_EXTRACT_SCALAR

和JSON_VALUE功能类似,同样支持嵌套路径:

SAFE_CAST(JSON_EXTRACT_SCALAR(h.events.label, '$.userLocation.locationId') AS INT64) AS locationId

为什么正则不适合?

嵌套JSON的字段顺序可能变化、字段值可能包含特殊字符,正则匹配很容易出现误匹配或漏匹配,而JSON专用函数是基于结构解析,不受这些因素影响,可靠性更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 05:10:27