Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: JSON for PG 9.2


  • From: Andrew Dunstan <andrew(at)dunslane(dot)net>
  • To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
  • Cc: Joey Adams <joeyadams3(dot)14159(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, "David E. Wheeler" <david(at)kineticode(dot)com>, Claes Jakobsson <claes(at)surfar(dot)nu>, Dimitri Fontaine <dimitri(at)2ndquadrant(dot)fr>, Merlin Moncure <mmoncure(at)gmail(dot)com>, Magnus Hagander <magnus(at)hagander(dot)net>, Jan UrbaƄski <wulczer(at)wulczer(dot)org>, Simon Riggs <simon(at)2ndquadrant(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>, Jan Wieck <janwieck(at)yahoo(dot)com>
  • Subject: Re: JSON for PG 9.2
  • Date: Sun, 15 Jan 2012 11:08:05 -0500
  • Message-id: <4F12F9E5.3090801@dunslane.net> <text/plain>



On 01/14/2012 03:06 PM, Andrew Dunstan wrote:



OK, here's a patch that does both query_to_json and array_to_json, along with docs and regression tests. It include Robert's original patch, although I can produce a differential patch if required. It can also be pulled from <https://bitbucket.org/adunstan/pgdevel>




Here's an update that adds row_to_json, plus a bit more cleanup. Example:


   andrew=# 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)


(This might be more to Robert's taste than query_to_json() :-) )

cheers

andrew


Attachment: adjson3.patch
Description: Text Data



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group