Prz*_*mek 8 postgresql json postgresql-9.3
我有一个像这样定义的表:
CREATE TABLE data_table AS (
id bigserial,
"name" text NOT NULL,
"value" text NOT NULL,
CONSTRAINT data_table_pk PRIMARY KEY (id)
);
INSERT INTO data_table ("name", "value") VALUES
('key_1', 'value_1'),
('key_2', 'value_2');
Run Code Online (Sandbox Code Playgroud)
我想从这个表内容中获取一个JSON对象,它看起来像这样:
{
"key_1":"value_1",
"key_2":"value_2"
}
Run Code Online (Sandbox Code Playgroud)
现在我正在使用客户端应用程序将结果集解析为JSON格式.是否可以通过postgresl查询来实现这一目标?
小智 16
如果您使用的是9.4,则可以执行以下操作:
$ select json_object_agg("name", "value") from data_table;
json_object_agg
----------------------------------------------
{ "key_1" : "value_1", "key_2" : "value_2" }
Run Code Online (Sandbox Code Playgroud)
select
format(
'{%s}',
string_agg(format(
'%s:%s',
to_json("name"),
to_json("value")
), ',')
)::json as json_object
from data_table;
json_object
---------------------------------------
{"key_1":"value_1","key_2":"value_2"}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7362 次 |
最近记录: |