在 Postgres 中返回 JSON

阿尔扬·鲁斯

我在 postgres 中创建了一个返回 json 的函数。

该函数在 API 中使用并返回:

[
    {
        "jobfeed_beroepen_list": [
            {
                "profession_code": 3674,
                "profession_descr": "Manusje van alles (boodschappen, post en goederen)"
            },
            {
                "profession_code": 4107,
                "profession_descr": "Algemeen medewerker"
            }
        ]
    }
]

但我希望它返回这个:

[
    {
        "profession_code": 3674,
        "profession_descr": "Manusje van alles (boodschappen, post en goederen)"
    },
    {
        "profession_code": 4107,
        "profession_descr": "Algemeen medewerker"
    }
]

问题:我必须在代码中更改什么?

--------------- 这是功能--------------

CREATE OR REPLACE FUNCTION api.fnc_jobfeed_beroepen(
    )
    RETURNS TABLE(jobfeed_beroepen_list jsonb) 
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
    ROWS 1000
AS $BODY$
DECLARE

BEGIN
jobfeed_beroepen_list := to_jsonb(array_agg(t)) FROM
                    (SELECT profession_code, profession_descr
                    FROM skillcv.jobfeed_beroepen
                    WHERE use = 1
                    ) AS t;
RETURN QUERY SELECT jobfeed_beroepen_list;

END;
$BODY$;
专卖店

您可以使用 json 聚合。那将是:

return query 
    select jsonb_agg(
        jsonb_build_object(
            'profession_code',  profession_code, 
            'profession_descr', profession_descr
        )
    ) as res
    from skillcv.jobfeed_beroepen
    where use = 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章