在 Redshift 中查询 JSON 数组?

Tod*_*odd 2 json amazon-redshift

您能否在 Redshift JSON 列中查询数组中的字段?

我有以下 JSON:

{"sort_details":[{"sort_by":"name","order":"asc"}]}
Run Code Online (Sandbox Code Playgroud)

是否可以查询低于 Redshift 中最高级别元素的任何内容?我试过使用

json_extract_path_text( myjson , 'sort_details' , 'sort_by' ) 
Run Code Online (Sandbox Code Playgroud)

但得到了一个空行。我猜测作为一个数组并且可以想象每个记录返回多个结果,这可能是不可能的。

Jar*_*edt 6

您可以使用嵌套的 JSON 函数:

json_extract_path_text(
    json_extract_array_element_text(
        json_extract_path_text( 
            myjson, 
            'sort_details'
        ), 
        0
    ), 
    'sort_by'
)
Run Code Online (Sandbox Code Playgroud)