将json字典列转换为键值对行(Redshift + Postgresql)

时间:2016-02-23 18:59:27

标签: json postgresql amazon-redshift

我在redshift中有以下架构(id列和json字典作为字符串)

id data
1 {'1': 'true', '2':'false'}
2 {'1': 'false', '3':'true'}

我希望将其转换为:

id key value
1 '1' 'true'
1 '2' 'false'
2 '1' 'false'
2 '3' 'true'

对此有什么合适的postgresql查询?我已经尝试过使用JSON_EXTRACT_PATH_TEXT但是我需要将所有单独的密钥连接在一起,而且我正在处理数百个密钥。

1 个答案:

答案 0 :(得分:0)

类似

select id,json_object_keys(t.data) as key,data->json_object_keys(t.data) as value from t;

http://sqlfiddle.com/#!15/781fd/10