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

BigQuery正则使用问题:如何替换JSON双引号内的逗号拆分键值对

BigQuery 动态拆分未知键值JSON方案

不需要手动处理JSON字符串的逗号、引号分隔,直接用BigQuery原生JSON函数即可实现动态提取所有键值对,完美适配字符串、数值、布尔等各类JSON值类型,解决你当前拆分逻辑对非字符串值失效的问题。

完整实现代码

WITH sample_data AS (
  -- 示例数据,包含字符串、数值、布尔多种JSON值类型,可替换为你自己的业务表
  SELECT '{"date":"2011-01-01","ok_key":"ok_value","ok_key2":"value2","key3":"no_okay,str_2","num_key":123,"bool_key":true}' AS bada_json_str
)
SELECT
  Col_Key,
  Col_Value
FROM sample_data,
-- 提取JSON所有键并展开为多行
UNNEST(JSON_EXTRACT_KEYS(bada_json_str)) AS Col_Key,
-- 按动态键提取对应值,自动转为字符串格式
UNNEST([JSON_VALUE(bada_json_str, CONCAT('$.', Col_Key))]) AS Col_Value

方案优势

  • 所有JSON解析逻辑由BigQuery原生实现,完全规避值内逗号、引号转义等边界问题
  • 自动适配字符串、数值、布尔、NULL等所有JSON基础类型,无字符串值无引号拆分失效问题
  • 全程不需要指定具体键名,完全适配未知键值的JSON场景

运行上述代码后输出的结果和你预期的格式完全一致,新增的数值、布尔类型键值也会正常输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:36:03