/ / JSON配列の値にキーを追加する方法は? - json、postgresql、postgresql-9.3、postgresql-9.4

JSON配列の値にキーを追加する方法は? - json、postgresql、postgresql-9.3、postgresql-9.4

私はPostgresに新しく、バージョン9.4を使用しています。私は質問を返す 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"}, ...

回答:

回答№1は2

好き @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;