Как мне отредактировать этот JSON?

У меня есть этот код в моем виде:

SELECT json_object_agg(code,value) FROM table1

Это генерирует это в моем postgREST API:

[{"json_object_agg":"{code1: value1, code2: value2, ...}"]

Я хочу удалить json_object_agg сделать так:

[{code1: value1, code2: value2, ...}]

Как я могу это сделать?

1 ответ

Вы не можете иметь пустое имя набора результатов. Я предполагаю, что это связано с вашим предыдущим вопросом, где вы получали

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;
                                       ^

Конечно, вы можете взломать его с помощью символа пробела, например:

t=# select json_object_agg(code,value) " " from tt;

----------------------------------------------------
 { "ALLOW_MAC_ADDR" : "1", "USER_ALIAS" : "James" }

что ПОЧТИ нет имени, но я предполагаю, что вы должны изменить свой "postgREST api", чтобы сделать это правильно - игнорируя имя атрибута результирующего набора

Другие вопросы по тегам