json - 选择数据作为 JSONB,其中值用作 json 键
问题描述
100500 次我在这里找到了答案,但不是现在。
我有PostgreSQL 11.1和表
CREATE TABLE public.bots_script_elements (
id integer,
icon text,
CONSTRAINT bots_script_elements_pri PRIMARY KEY (id)
);
价值观
ID ICON
1 "begin"
2 "form"
3 "calendar"
如何在下面选择数据作为 json?
{
"1": {"id":1, "icon":"begin"},
"2": {"id":2, "icon":"form"},
"3": {"id":3, "icon":"calendar"}
}
Json 对象键 1、2 和 3 是来自 ID 列的值。
解决方案
使用聚合函数jsonb_object_agg():
select jsonb_object_agg(id, to_jsonb(b))
from bots_script_elements b
推荐阅读
- javascript - JS 语法错误 Uncaught SyntaxError: missing ) after argument list
- python - 等价于多处理。在 pathos 中的进程
- postsharp - PostSharp:为什么 LogAttribute 没有建议?
- javascript - 期待一个开玩笑的测试来解决,但不关心价值
- fortran - 隐式分配与显式分配/解除分配
- python - 是否可以从 Python 中的另一个函数停止循环?
- rust - 如何在 Actix-Web 中打印错误消息而不会惊慌?
- sql-server - SQL Server 字符串拆分为列
- openlayers - Openlayers - WMS 层:如何从特定层获取时间维度
- jquery - 如何将jquery代码转换为reactjs