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

如何在Snowflake中将字符串转换为JSON,解决parse_json报错问题

问题原因

你当前使用的字符串{id: evt_1jopsdgqxhp78yqp7pujesee, created: 2021-08-14t16:38:17z}不属于标准JSON格式,parse_json仅支持解析符合RFC 8259规范的JSON字符串,格式不匹配是解析失败的核心原因,不符合规范的点有两个:

  • 所有键名没有使用双引号包裹
  • 字符串类型的取值(id字段值、created时间字段值)也没有使用双引号包裹
修复方案

首先你需要把字符串调整为标准JSON格式,调整后的合规格式如下:
{"id": "evt_1jopsdgqxhp78yqp7pujesee", "created": "2021-08-14t16:38:17z"}

如果你是在Kusto查询场景下批量处理这类非标准字符串,可以通过正则预修复格式后再调用parse_json解析,示例代码如下:

datatable(raw_str:string) ["{id: evt_1jopsdgqxhp78yqp7pujesee, created: 2021-08-14t16:38:17z}"]
// 正则匹配键值对,给键和值自动补充双引号
| extend fixed_str = replace(@'(\w+):\s*([^,\s}]+)', @'"\1":"\2"', raw_str)
// 修复后即可正常解析为JSON对象
| extend parsed_json = parse_json(fixed_str)
// 提取字段验证结果
| project id = parsed_json.id, created_time = parsed_json.created

注:上述正则仅适用于值中无空格、逗号、大括号等特殊字符的简单场景,如果你要处理的字符串结构更复杂,可以根据实际取值规则调整正则匹配逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:15:03