繁体   English   中英

来自字符串字段的 AWS Athena json_extract 查询返回空值

[英]AWS Athena json_extract query from string field returns empty values

我在 Athena json 字符串中:

{“recurrent_jobs.new_page.career_level.trainee”:0,“recurrent_jobs.new_page.career_level.assistant”:1}

我需要得到结果:trainee=0

我做一个查询:

select 
     json_extract(
     '{"recurrent_jobs.new_page.career_level.trainee":0,"recurrent_jobs.new_page.career_level.assistant":1}', 
     '$.recurrent_jobs.new_page.career_level.trainee')   

我的结果是空的。 我认为问题是点。 我能做什么?

'$.recurrent_jobs.new_page.career_level.trainee'表示深度嵌套 object 的属性路径,如下所示:

{
   "recurrent_jobs":{
      "new_page":{
         "career_level":{
            "trainee":0
         }
      }
   }
}

您需要用点转义属性名称 - '$["recurrent_jobs.new_page.career_level.trainee"]'

select json_extract(
    '{
        "recurrent_jobs.new_page.career_level.trainee":0,
        "recurrent_jobs.new_page.career_level.assistant":1
    }',
    '$["recurrent_jobs.new_page.career_level.trainee"]');

Output:

_col0
0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM