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

时间:2019-04-04 07:29:45

标签: json amazon-redshift

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

[{"id": 10001, "person1": {"name": "Kevin", "role": "junior"},
               "person2": {"name": "Scott", "role": "senior"}}] 

我正在尝试提取每个ID下的名称和角色。

我尝试了以下操作,但返回空记录。

SELECT json_extract_path(column_name::json,'person1','name') FROM table

1 个答案:

答案 0 :(得分:1)

您显示的JSON是:

  • 列表(如[]所示)
  • 其中包含字典
  • 其中包含字典

您首先需要提取第一个列表元素,然后使用提供的命令。

尝试类似的东西:

SELECT 
  json_extract_path(
    json_extract_array_element_text(column_name::json, 0),
    'person1',
    'name'
  ) 
FROM table