首页 > 解决方案 > 展开 JSON 对象数组以使用 PostgreSQL 记录

问题描述

我正在尝试使用 PostgreSQL 扩展 JSON 中的对象数组。

表联系人(id int,数据 json);

1, {'firstName': 'John', 'lastName': 'Doe', 'addresses': [{'street': '1 Heaven St.', city: 'Wonderland'}, {'street': '3 Hell St.', city: 'Scarycity'}] }
2, {'firstName': 'Shiv', 'lastName': 'Durham', 'addresses': [{'street': '1 Sugar St.', city: 'Sweet City'}] }

我想把它变成视图

contact_id|address                                        |
1         |{'street': '1 Heaven St.', city: 'Wonderland'} |
1         |{'street': '3 Hell St.', city: 'Scarycity'}    |
2         |{'street': '1 Sugar St.', city: 'Sweet City'}  |

我尝试了一些本机功能,但没有得到想要的结果。

标签: jsonpostgresql

解决方案


select
  id as contact_id,
  json_array_elements(data->'addresses') as address
from contacts;

推荐阅读