我正在try 从presto中的JSON中提取字符串.下面是两个选项,用于在我转换为字符串之前提取数据的外观:
-
JSON_EXTRACT(my_column, '$.my_column_extract')
=["A::1","B::2","C::3","D::4"] -
JSON_EXTRACT(my_column, '$.my_column_extract')
={"0":"A::1","1":"B::2","2":"C::3","3":"D::4.5"}
对于上述两个选项,我希望实现的目标字符串格式为: 对于1)A::1、B::2、C::3、D::4 2)A::1、B::2、C::3、D::4、5
所以我先转换为ARRAY(VARCHAR)
,然后转换为ARRAY_JOIN
,以获得一个字符串.这对1)有效,但对2)无效.
- ARRAY_JOIN( 演员阵容( JSON_EXTRACT(MY_COLUMN,‘$.MY_COLUMN_EXTRACT’)AS数组(VARCHAR) ), ‘,’ )=A::1、B::2、C::3、D::4
- 相同的函数会导致格式错误.错误通知 (INVALID_CAST_ARGUMENT)不能强制转换为数组(Varchar).应为json数组,但得到了{"0":"A::1","1":"B::2","2":"C::3","3":"D::4,5"}
如何才能使2)生成目标字符串格式?