/ / Как да добавите ключ към стойността на JSON масив? - json, postgresql, postgresql-9.3, postgresql-9.4

Как да добавите ключ към стойността на JSON масив? - json, postgresql, postgresql-9.3, postgresql-9.4

Аз съм нов в Postgres и използвам версия 9.4. Имам заявка, връщаща a json колона.
Как мога да добавя ключ към JSON масив стойност?

Моята заявка:

select array_to_json(array_agg(t))
from (select DISTINCT ON(city,state)latitudes,longitudes,city,state
from zips where city ilike "ORL%"
order by city,state,ziptype desc
limit 10) t;

Резултатът е като:

[{"latitudes": 31.22,"longitudes": -103.91,"city": "Orla","state": "TX"}, ...

Въпреки това бих искал да го нарека:

["Locations": [{"latitudes": 31.22,"longitudes": -103.91,"city": "Orla","state": "TX"}, ...

Отговори:

2 за отговор № 1

като @Abelisto коментира, употреба json_build_object() (или jsonb_build_object()), за да прикачите ключ към стойността си.
И по-просто json_agg(t) (или jsonb_agg(t)) вместо array_to_json(array_agg(t)):

SELECT json_build_object("Locations", json_agg(t))
FROM  (
SELECT DISTINCT ON (city, state)
latitudes, longitudes, city, state
FROM   zips
WHERE  city ILIKE "ORL%"
ORDER  by city, state, ziptype DESC
LIMIT  10
) t;