如何将json展平到表中

时间:2019-07-05 10:26:02

标签: json postgresql

我刚刚意识到在我的AWS Aurora postgres集群上,具有temp_tables函数的功能与只读副本并不友好。无论如何,我都需要做一个重写(使用CTE)。...如何获取一个嵌套数组的json对象并将它们展平到一个表中,如下所示:

{
  "data": [
    {
      "groupName": "TeamA",
      "groupCode": "12",
      "subGroupCodes": [
        "11"
      ]
    },
    {
      "groupName": "TeamB",
      "groupCode": "13",
      "subGroupCodes": [
        "15", "22"
      ]
    }
  ]
}

我希望输出表为:

groupName  groupCode  subGroupCodes
TeamA      12         11
TeamB      13         15
TeamB      13         22

我知道我可以通过以下方式获得大部分帮助:

SELECT j."groupCode" as int, j."groupName" as pupilgroup_name
FROM json_to_recordset(p_in_filters->'data') j ("groupName" varchar(50), "groupCode" int)

但是我也只需要获取subGroupCodes,但要解压缩数组并加入正确的父groupCodes。

1 个答案:

答案 0 :(得分:0)

您需要先取消嵌套该数组,然后再取消嵌套以获取子组代码:

this.gridApi.purgeServerSideCache([]);