sql - 解析 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
谢谢你的帮助
解决方案
您的“JSON 输入”实际上是其字典数据结构的 Python表示字符串,并且不是有效的 JSON 格式。虽然 Python 中的字典在交互式 shell 中打印时可能看起来类似于 JSON,但它们并不相同。
要从 Python 对象生成有效的 JSON,请使用json 模块的 dump 或dumps 函数,然后在 parse_json 函数中使用正确的字符串序列化 JSON 形式。
推荐阅读
- flutter - 更改 InkWell 飞溅的原点位置
- java - 如何在 WebView 上搜索关键词?
- jhipster - JHipster 选项 --incremental-changelog 和 --ignore-application 不兼容?
- python - 为什么我的 pycharm 烧瓶服务器没有运行?
- matlab - 如何在 Matlab 中数值求解具有两个矩阵的系统?
- android - 无法在android中获取纹理视图截图
- sql - 排除服务代码为“AAAA”的订单
- javascript - 将反斜杠应用于变量(不是 String.raw)
- python - range() 用于计算带间隔的余额
- arrays - 如何使用种子对数组进行洗牌,从而在将其他项目添加到数组时元素序列保持一致