Как мне отредактировать этот 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", чтобы сделать это правильно - игнорируя имя атрибута результирующего набора