如何创建一行中每列Json对象

1qczuiv0  于 2023-04-13  发布在  其他
关注(0)|答案(2)|浏览(125)

我有一个表itemmaster在Postgresql.

id| attribute1 | attribute2 | attribute3
1 | Good       | Average    | Best

我希望输出为json像[{“attribute 1”:“Good”},{“attribute 2”:“Average”},{“attribute 3”:“Best”}]我想使用这个JSON作为嵌套的JSON其他对象,我已经尝试了row_to_json和json对象构建器,但没有得到确切的结果。

jfgube3f

jfgube3f1#

select json_build_array(json_build_object('attribute1', itemmaster.attribute1), 
    json_build_object('attribute2', itemmaster.attribute2),
    json_build_object('attribute3', itemmaster.attribute3)) 
from itemmaster;
4xrmg8kj

4xrmg8kj2#

假设您有一个名为table_attr表:

id| attribute1 | attribute2 | attribute3
1 | Good       | Average    | Best

然后你可以使用这个查询:

SELECT
    json_agg(t)
FROM
    (
        SELECT
            attribute1,
            attribute2,
            attribute3
        FROM
            table_attr
    ) t;

输出:
[{“attribute1”:“良好”,“attribute 2”:“平均”,“attribute 3”:“最佳”}]

相关问题