gpt4 book ai didi

json - 使用动态键和 json 值构建 JSON 对象

转载 作者:行者123 更新时间:2023-11-29 12:02:14 25 4
gpt4 key购买 nike

我正在尝试使用 postgres 查询构建一个 JSON 对象。我正在寻找的输出类似于下面的对象。属性“xxx”和“yyy”与日期一样来自一列。

{
"xxx": [ "2018-07-26T11:42:04.514Z", "2018-07-26T11:52:04.514Z"],
"yyy": [ "2018-07-26T05:42:09.210Z", "2018-07-26T07:22:04.024Z"]
}

我希望通过类似于下面的查询来执行此操作:

SELECT
json_object(
array_agg(name),
array_agg(json_build_array(start_date, end_date)
)
FROM my_table

my_table 表大致如下所示:

name | start_date                | end_date                 |
-------------------------------------------------------------
xxx | 2018-07-26T11:42:04.514Z | 2018-07-26T11:52:04.514Z |
yyy | 2018-07-26T05:42:09.210Z | 2018-07-26T07:22:04.024Z |

但是,json_object 只接受文本数组,我似乎找不到替代方案。所以,我得到了 ERROR: function json_object(text[], json[]) does not exist。感谢阅读!

最佳答案

使用jsonb_build_array()json_object_agg().

select json_object_agg(name, jsonb_build_array(start_date, end_date))
from my_table

DbFiddle.

关于json - 使用动态键和 json 值构建 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51622785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com