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