Json 中的 AWS Athena 提取数组
AWS Athena Extract Array in Json
我有一个 json 列,在这个 json 列中是一个数组结构。我不知道如何将数组放在那里。
我试过这个
cast(json_extract(ise, '$.userservice') as varchar) as ise_user_service
示例Json
ise
{
"userpa":"****",
"userlo":"*****",
"sessi":"******",
"cl":{
"name":"****",
"id":"*****"
},
"usermains":"******",
"userservice":[
"1****",
"23***4**",
"124****",
"034****"
],
"usergeoloc":"********",
"userparty":"*******"
}
您可以使用 json_format
将其转换为字符串或转换为 ARRAY(VARCHAR)
,具体取决于用例:
WITH dataset AS (
SELECT * FROM (VALUES
( JSON ' {
"userpa":"****",
"userlo":"*****",
"sessi":"******",
"cl":{
"name":"****",
"id":"*****"
},
"usermains":"******",
"userservice":[
"1****",
"23***4**",
"124****",
"034****"
],
"usergeoloc":"********",
"userparty":"*******"
}')
) AS t (ise))
SELECT json_format(json_extract(ise, '$.userservice')) as ise_string,
cast(json_extract(ise, '$.userservice') as ARRAY(VARCHAR)) as ise_array
FROM dataset
我有一个 json 列,在这个 json 列中是一个数组结构。我不知道如何将数组放在那里。
我试过这个
cast(json_extract(ise, '$.userservice') as varchar) as ise_user_service
示例Json
ise
{
"userpa":"****",
"userlo":"*****",
"sessi":"******",
"cl":{
"name":"****",
"id":"*****"
},
"usermains":"******",
"userservice":[
"1****",
"23***4**",
"124****",
"034****"
],
"usergeoloc":"********",
"userparty":"*******"
}
您可以使用 json_format
将其转换为字符串或转换为 ARRAY(VARCHAR)
,具体取决于用例:
WITH dataset AS (
SELECT * FROM (VALUES
( JSON ' {
"userpa":"****",
"userlo":"*****",
"sessi":"******",
"cl":{
"name":"****",
"id":"*****"
},
"usermains":"******",
"userservice":[
"1****",
"23***4**",
"124****",
"034****"
],
"usergeoloc":"********",
"userparty":"*******"
}')
) AS t (ise))
SELECT json_format(json_extract(ise, '$.userservice')) as ise_string,
cast(json_extract(ise, '$.userservice') as ARRAY(VARCHAR)) as ise_array
FROM dataset