PostgreSQL 9.2中將引入生成JSON數據功能
PostgreSQL開發者Andrew Dunstan
寫到:
引用
上周三,也就是PostgreSQL 9.2最后一個
commitfest到來的前四天,Robert Haas提交了一個名為
JSON for 9.2的補丁,欲將JSON列為PostgreSQL的核心類型。基本上,該補丁功能是對文本進行解析,確保它是有效的JSON數據,并加以存儲。這個功能我原本打算在9.2版本中放棄的,不過我考慮了下發現Robert的補丁太小了點,因此決定繼續并又添加了一些功能,包括:query_to_json()、 array_to_json()以及record_to_json(),完成了從ProstgreSQL生成JSON數據。
以下是來自回歸測試中的一些簡單示例:
SELECT query_to_json('select x as b, x * 2 as c from generate_series(1,3) x',false);query_to_json
[{"b":1,"c":2},{"b":2,"c":4},{"b":3,"c":6}] (1 row)
SELECT array_to_json('{{1,5},{99,100}}'::int[]);
array_to_json
[[1,5],[99,100]] (1 row)
-- row_to_json SELECT row_to_json(row(1,'foo'));
row_to_json
{"f1":1,"f2":"foo"} (1 row)</pre>更簡單一點的:
SELECT row_to_json(q) FROM (SELECT $$a$$ || x AS b, y AS c, ARRAY[ROW(x.,ARRAY[1,2,3]), ROW(y.,ARRAY[4,5,6])] AS z FROM generate_series(1,2) x, generate_series(4,5) y) q;row_to_json
{"b":"a1","c":4,"z":[{"f1":1,"f2":[1,2,3]},{"f1":4,"f2":[4,5,6]}]} {"b":"a1","c":5,"z":[{"f1":1,"f2":[1,2,3]},{"f1":5,"f2":[4,5,6]}]} {"b":"a2","c":4,"z":[{"f1":2,"f2":[1,2,3]},{"f1":4,"f2":[4,5,6]}]} {"b":"a2","c":5,"z":[{"f1":2,"f2":[1,2,3]},{"f1":5,"f2":[4,5,6]}]} (4 rows)</pre>Via planetpostgresql
來自: http://www.iteye.com/news/24032本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!