DataWorks数据服务 中JSON 字段 " 变成 /"怎么办?这种怎么 去掉

问题1:DataWorks数据服务 中JSON 字段 " 变成 /"怎么办?这种怎么 去掉 /image.png
问题2:这个能解决不?image.png

展开
收起
真的很搞笑 2023-07-16 14:04:52 213 分享 版权
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在DataWorks数据服务中,如果JSON字段中的双引号被转义成了反斜杠和双引号的组合(即变成了/"),可以通过使用JSON函数中的unescape函数来还原双引号,将其转换回原来的格式。

    具体来说,可以在SQL查询中使用JSON函数的unescape函数,如下所示:

    sql
    Copy
    SELECT JSON_UNESCAPE('{"key": "value\/\""}') as json_str;
    这里的JSON_UNESCAPE函数就是用于将JSON字符串中的反斜杠和双引号的组合转换回双引号的函数。在上面的例子中,将会输出如下的结果:

    Copy
    json_str
    {"key": "value\""}
    如果双引号被转义成了其他的组合,也可以使用unescape函数将其还原回来,例如将双引号转义成了\",则可以使用如下的SQL查询:

    sql
    Copy
    SELECT JSON_UNESCAPE('{"key": "value\\\""}') as json_str;
    输出结果为:

    Copy
    json_str
    {"key": "value\""}

    2023-07-21 20:07:38
    赞同 展开评论
  • 在DataWorks数据服务中,如果JSON字段中的双引号被转义成了“/”,你可以使用字符串替换函数来去掉这些额外的转义斜杠。

    以下是一种常见的处理方式:

    1. 在DataWorks数据服务中,使用字符串替换函数 replace(),将所有的 \/ 替换为 ",如下所示:
    select replace(your_json_field, '\\/', '"') as cleaned_json
    from your_table;
    

    在以上示例中,your_json_field 是包含转义斜杠的 JSON 字段名,your_table 是包含该字段的表名。

    1. 执行该SQL语句以查看替换后的结果。现在,转义斜杠应该已经被成功去掉,双引号应该恢复正常。

    需要注意的是,由于不同的数据库系统和版本可能会有差异,具体的字符串替换函数和语法可能会有所不同。请根据你所使用的数据库系统和版本,参考相应的文档或联系技术支持,获取更准确和详细的函数用法和语法说明。

    2023-07-18 14:25:19
    赞同 展开评论
  • 回答1:如果里面返回的是一个json字符串 ,而数据服务返回的也是json字符串 双引号是关键字 所以需要转义,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-07-16 14:08:37
    赞同 展开评论

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

还有其他疑问?
咨询AI助理