12
返回列表 发新帖

[数据处理] get_json_object替换函数

yhdata_yzm 显示全部楼层 发表于 2023-6-8 13:08:27
截图我看看
回复

使用道具 举报

yhdata_EXVUtF3P白银二 显示全部楼层 发表于 2023-6-8 13:43:01

报错详情
Screenshot_34faf08f-03a6-4c69-b114-282bf2a46c81.jpeg
Screenshot_34faf08f-03a6-4c69-b114-282bf2a46c81.jpeg
回复

使用道具 举报

yhdata_yzm 显示全部楼层 发表于 2023-6-8 14:29:51
1.数据库里看到的json格式的数据是什么样的。
2.反馈下你的数据库类型
3.反馈下你的sql是怎么写的
回复

使用道具 举报

yhdata_EXVUtF3P白银二 显示全部楼层 发表于 2023-6-9 11:32:34
yhdata_yzm 发表于 2023-6-8 14:29
1.数据库里看到的json格式的数据是什么样的。
2.反馈下你的数据库类型
3.反馈下你的sql是怎么写的 ...

1、{"score":5,"scoreEmojiDTOList":[{"score":1,"text":"非常不满意"},{"score":2,"text":"不满意"},{"score":3,"text":"一般"},{"score":4,"text":"比较满意"},{"score":5,"text":"非常满意"}],"labelList":["节奏合理","认真负责","视流畅","清晰","生动有趣","内容实用"]}
2、数据库类型为presto,SQL数据集
3、取数逻辑
select *
--,comment->> 'labelList'  as labelList
from
表名
回复

使用道具 举报

yhdata_yzm 显示全部楼层 发表于 2023-6-9 13:28:08
在 Presto 中,你可以使用 JSON 函数和操作符来处理数据库中的某个字段的 JSON 数据,并从中提取特定的键值对。

假设你有一个名为 `my_table` 的表,其中包含一个名为 `json_column` 的字段,存储了 JSON 数据。你想从该字段中提取键为 "A" 的值,并将其作为新列 "A" 返回。

以下是一种方法,使用 Presto 的 JSON 函数和操作符来实现:

```sql
SELECT
  json_extract_scalar(json_column, '$.A') AS A
FROM my_table
```

在上述示例中,我们使用 `json_extract_scalar()` 函数来提取 JSON 字段 `json_column` 中键为 "A" 的值。`json_extract_scalar()` 函数的第一个参数是要提取值的 JSON 字段,第二个参数是 JSON 路径表达式,表示要提取的键的路径。在这里,我们使用 `$.A` 来指定键为 "A"。

该查询将返回一个包含新列 "A" 的结果集,其中包含从 `json_column` 字段中提取的 "A" 的值。

请注意,Presto 中的 JSON 函数和操作符的具体语法和功能可能会因 Presto 版本而异。如果你遇到问题,请参考 Presto 的官方文档或社区资源,以了解特定版本中 JSON 函数和操作符的使用方法和支持情况。
可以远程的话,远程看看
回复

使用道具 举报

yhdata_EXVUtF3P白银二 显示全部楼层 发表于 2023-6-9 15:22:17
yhdata_yzm 发表于 2023-6-9 13:28
在 Presto 中,你可以使用 JSON 函数和操作符来处理数据库中的某个字段的 JSON 数据,并从中提取特定的键值 ...

json_extract_scalar(json_column, '$.A')
这个提取不了json_column中嵌套的数组 字段
回复

使用道具 举报

yhdata_EXVUtF3P白银二 显示全部楼层 发表于 2023-6-9 15:30:14
yhdata_yzm 发表于 2023-6-9 13:28
在 Presto 中,你可以使用 JSON 函数和操作符来处理数据库中的某个字段的 JSON 数据,并从中提取特定的键值 ...

就以这个json为例,我要提取abelList里面的值,
目前
①json_extract_scalar(json_column, '$.labelList') AS 解析出来为空
② get_json_object(json_column, '$.labelList')  解析出来报错
您能提供下可以解析出来labelList的代码吗?
{"score":5,"scoreEmojiDTOList":[{"score":1,"text":"非常不满意"},{"score":2,"text":"不满意"},{"score":3,"text":"一般"},{"score":4,"text":"比较满意"},{"score":5,"text":"非常满意"}],"labelList":["节奏合理","认真负责","视流畅","清晰","生动有趣","内容实用"]}
回复

使用道具 举报

12
高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |联系社区管理员|《永洪社区协议》
返回顶部