我的视图中有这段代码:
SELECT json_object_agg(code,value) FROM table1
它在我的 postgREST api 中生成:
[{"json_object_agg":"{code1: value1, code2: value2, ...}"]
我想删除json_object_agg
它,使它像这样:
[{code1: value1, code2: value2, ...}]
我怎么做?
我的视图中有这段代码:
SELECT json_object_agg(code,value) FROM table1
它在我的 postgREST api 中生成:
[{"json_object_agg":"{code1: value1, code2: value2, ...}"]
我想删除json_object_agg
它,使它像这样:
[{code1: value1, code2: value2, ...}]
我怎么做?
您不能有空的结果集名称。我认为这与您之前的问题有关
t=# select json_object_agg(code,value) from tt;
json_object_agg
----------------------------------------------------
{ "ALLOW_MAC_ADDR" : "1", "USER_ALIAS" : "James" }
因此,如果您尝试使用空值命名列(我可以从您的帖子要求中想到最接近的),您会收到错误消息:
t=# select json_object_agg(code,value) "" from tt;
ERROR: zero-length delimited identifier at or near """"
LINE 1: select json_object_agg(code,value) "" from tt;
^
当然,您可以使用空格字符对其进行 mokey 破解,例如:
t=# select json_object_agg(code,value) " " from tt;
----------------------------------------------------
{ "ALLOW_MAC_ADDR" : "1", "USER_ALIAS" : "James" }
这几乎没有名字,但我假设你必须修改你的“postgREST api”才能正确地做到这一点 - 忽略结果集属性名称