私は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;