我有一個表:避免JSON匿名領域從表中的行建
CREATE TABLE test (
item_id INTEGER NOT NULL,
item_name VARCHAR(255) NOT NULL,
mal_item_name VARCHAR(255),
active CHAR(1) NOT NULL,
data_needed CHAR(1) NOT NULL,
parent_id INTEGER);
查詢:
select array_to_json(array_agg(row_to_json(t)))
from (select item_id as id,
item_name as text,
parent_id as parent,
(mal_item_name,data_needed) as data
from test) t
產生的結果:
[{"id":1,"text":"Materials","parent":0, "data": {"f1":null,"f2":"N"}}, {"id":2,"text":"Bricks","parent":1, "data":{"f1":null,"f2":"N"}}, {"id":3,"text":"Class(high)","parent":2, "data":{"f1":null,"f2":"Y"}}, {"id":4,"text":"Class(low)","parent":2, "data":{"f1":null,"f2":"Y"}}]
原字段名mal_item_name
和data_needed
被替換爲f1
和f2
。
如何獲得帶有字段名稱的JSON?文檔通過爲這兩個字段創建一個類型來說明。有其他選擇嗎?
您的Postgres版本對於這個問題至關重要。 – 2015-01-21 13:34:27