首页 > 解决方案 > 解析 JSON 时出错,缺少逗号 pos

问题描述

我有一个带有 varchar 的列,并希望通过 parse_Json 将其转换为 JSON。( {u'meta': {u'removedAt': 无,u'validation': {u'createdTime': 157.... )

当我使用:

select get_path(PARSE_JSON(OFFER), 'field') from

发生此错误:SQL-Fehler [100069] [22P02]:解析 JSON 时出错:缺少冒号,位置 3。

所以我尝试在位置 3 添加一个冒号

select get_path(PARSE_JSON(REPLACE (offer,'u','u:')), 'field') from

所以发生了这个错误 SQL-Fehler [100069] [22P02]: Error parsing JSON: misplaced Colon, pos 10

到目前为止,我不知道如何处理这个问题,雪花提供的信息并没有真正帮助。 https://support.snowflake.net/s/article/error-error-parsing-json-missing-comma-pos-number

谢谢你的帮助

标签: sqlsnowflake-cloud-data-platform

解决方案


您的“JSON 输入”实际上是其字典数据结构的 Python表示字符串,并且不是有效的 JSON 格式。虽然 Python 中的字典在交互式 shell 中打印时可能看起来类似于 JSON,但它们并不相同。

要从 Python 对象生成有效的 JSON,请使用json 模块的 dump 或dumps 函数,然后在 parse_json 函数中使用正确的字符串序列化 JSON 形式。


推荐阅读