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

如何在BigQuery中将STRING列转为JSON列且不引入反斜杠?

BigQuery将JSON格式字符串列转换为JSON类型列的方法

你的表结构示例如下(已转译原字符串中的转义引号):

WITH tmp as (
    SELECT '{"1":"1","2":"2","3":"3"}' as mycol union all
    SELECT '{"4":"4","5":"5","6":"6"}' 
)

要把mycol这个STRING列转换成JSON类型列,同时避免使用TO_JSON时出现的反斜杠,直接用SAFE.PARSE_JSON()函数即可,示例代码如下:

WITH tmp as (
    SELECT '{"1":"1","2":"2","3":"3"}' as mycol union all
    SELECT '{"4":"4","5":"5","6":"6"}' 
)
SELECT 
    mycol as original_string,
    SAFE.PARSE_JSON(mycol) as json_column
FROM tmp

关键说明:

  • SAFE.PARSE_JSON()会把符合JSON格式的字符串直接解析成JSON类型,转换后的列Type就是JSON,且不会引入额外的反斜杠。
  • 不要用TO_JSON(),因为它的作用是把任意类型数据转换成JSON格式的字符串,会把输入的原始字符串当成普通文本处理,自动转义其中的引号,导致出现不必要的反斜杠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 22:12:02