小编Mil*_*lka的帖子

解析 JSON 时出错:输入中有多个文档(Redshift 到 Snowflake SQL)

我正在尝试将查询从 Redshift 转换为 Snowflake SQL。

Redshift 查询如下所示:

SELECT 
                cr.creatives as creatives
                , JSON_ARRAY_LENGTH(cr.creatives) as creatives_length
                , JSON_EXTRACT_PATH_TEXT(JSON_EXTRACT_ARRAY_ELEMENT_TEXT (cr.creatives,0),'previewUrl') as preview_url
FROM campaign_revisions cr
Run Code Online (Sandbox Code Playgroud)

雪花查询如下所示:

SELECT 
                cr.creatives as creatives
                , ARRAY_SIZE(TO_ARRAY(ARRAY_CONSTRUCT(cr.creatives))) as creatives_length
                , PARSE_JSON(PARSE_JSON(cr.creatives)[0]):previewUrl as preview_url
FROM campaign_revisions cr
Run Code Online (Sandbox Code Playgroud)

似乎 JSON_EXTRACT_PATH_TEXT 未正确转换,因为 Snowflake 查询会导致错误:

解析 JSON 时出错:输入中有多个文档

cr.creatives 的格式如下:

"[{""previewUrl"":""https://someurl.com/preview1.png"",""device"":""desktop"",""splitId"":null,""splitType"":null},{""previewUrl"":""https://someurl.com/preview2.png"",""device"":""mobile"",""splitId"":null,""splitType"":null}]"
Run Code Online (Sandbox Code Playgroud)

json amazon-redshift snowflake-cloud-data-platform

6
推荐指数
1
解决办法
2485
查看次数

按文本内容获取元素 - XML、Java

org.w3c.dom.Document中的方法,例如getElementById(String elementId)getElementsByTagName(String tagname)等等,但有可能获得通过他们的文本值的元素?

java xml dom

2
推荐指数
1
解决办法
321
查看次数