永洪社区

标题: get_json_object替换函数 [打印本页]

作者: yhdata_EXVUtF3P    时间: 2023-6-7 18:37
标题: get_json_object替换函数
在处理数据集时get_json_object
显示没有该函数,这个可以用什么函数替换?

作者: yhdata_yzm    时间: 2023-6-7 18:37
yhdata_EXVUtF3P 发表于 2023-6-9 15:30
就以这个json为例,我要提取abelList里面的值,
目前
①json_extract_scalar(json_column, '$.labelList ...

如果 json_extract() 函数无法正常提取 labelList 的值,可能是因为 JSON 字段的路径表达式不正确或数据格式有问题。你可以检查 JSON 字段的结构,并根据实际情况调整路径表达式,确保能够准确提取到 labelList 的值。

具体用法你可以参考下presto的文档

作者: yhdata_lyaa    时间: 2023-6-7 18:50
你想实现什么功能
作者: yhdata_EXVUtF3P    时间: 2023-6-7 18:57
yhdata_lyaa 发表于 2023-6-7 18:50
你想实现什么功能

取json里面嵌套的array数组
作者: yhdata_yzm    时间: 2023-6-8 09:45
你是用的restful数据集?
作者: yhdata_EXVUtF3P    时间: 2023-6-8 10:15
本帖最后由 yhdata_EXVUtF3P 于 2023-6-8 10:17 编辑
yhdata_yzm 发表于 2023-6-8 09:45
你是用的restful数据集?

用的SQL数据集关联的自服务数据集
作者: yhdata_yzm    时间: 2023-6-8 10:21
yhdata_EXVUtF3P 发表于 2023-6-8 10:15
用的SQL数据集关联的自服务数据集

梳理下。你是sql里存储了json类型的数组数据,你是想把他通过写计算列拿出来?
作者: yhdata_EXVUtF3P    时间: 2023-6-8 10:45
yhdata_yzm 发表于 2023-6-8 10:21
梳理下。你是sql里存储了json类型的数组数据,你是想把他通过写计算列拿出来? ...

是的
作者: yhdata_yzm    时间: 2023-6-8 10:48
yhdata_EXVUtF3P 发表于 2023-6-8 10:45
是的

在你的sql数据集写sql看看例如:
SELECT json_column->>'A' AS A
FROM your_table;

作者: yhdata_EXVUtF3P    时间: 2023-6-8 12:02
yhdata_yzm 发表于 2023-6-8 10:48
在你的sql数据集写sql看看例如:
SELECT json_column->>'A' AS A
FROM your_table;

是这样输入吗?
comment->> 'labelList'  as labelList
这样输入提示报错:
Query failed (#20230608_040102_01670_rdy2z): line 4:14: mismatched input 'comment'. Expecting: '*', org.antlr.v4.runtime.NoViableAltException
作者: yhdata_yzm    时间: 2023-6-8 13:08
截图我看看
作者: yhdata_EXVUtF3P    时间: 2023-6-8 13:43
yhdata_yzm 发表于 2023-6-8 13:08
截图我看看

报错详情

作者: yhdata_yzm    时间: 2023-6-8 14:29
1.数据库里看到的json格式的数据是什么样的。
2.反馈下你的数据库类型
3.反馈下你的sql是怎么写的
作者: yhdata_EXVUtF3P    时间: 2023-6-9 11:32
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
在 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
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
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":["节奏合理","认真负责","视流畅","清晰","生动有趣","内容实用"]}




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4