从Amazon Redshift中的JSON字段提取数据

时间:2019-03-28 14:27:13

标签: sql json amazon-redshift

我正在尝试从Redshift中的JSON字段中提取一些数据。

下面是我正在处理的数据的示例视图。

{"fileFormat":"excel","data":{"name":John,"age":24,"dateofbirth":1993,"Class":"Computer Science"}}

我能够提取第一级的数据,即对应于 fileFormatdata如下:

select CONFIGURATION::JSON -> 'fileFormat' from table_name;

我正在尝试提取data下的信息,例如nameagedateofbirth

1 个答案:

答案 0 :(得分:2)

您可以使用Redshift的本机功能json_extract_path_text
-https://docs.aws.amazon.com/redshift/latest/dg/JSON_EXTRACT_PATH_TEXT.html

SELECT
  json_extract_path_text(
    configuration,
      'data',
      'name'
  )
    AS name,
  json_extract_path_text(
    configuration,
      'data',
      'age'
  )
    AS age,
  etc
FROM
  yourTable