On Oct 23, 2012, at 6:17 PM, Merlin Moncure <mmonc...@gmail.com> wrote:
> On Tue, Oct 23, 2012 at 8:05 PM, Greg Hazel <gha...@gmail.com> wrote: >> On Oct 23, 2012, at 6:03 PM, Merlin Moncure <mmonc...@gmail.com> wrote: >> >>> On Tue, Oct 23, 2012 at 6:32 PM, <gha...@gmail.com> wrote: >>>> The following bug has been logged on the website: >>>> >>>> Bug reference: 7620 >>>> Logged by: Greg Hazel >>>> Email address: gha...@gmail.com >>>> PostgreSQL version: 9.2.1 >>>> Operating system: Amazon Linux >>>> Description: >>>> >>>> array_to_json(ARRAY['foo', 100, true]) complains because arrays can't have >>>> mixed types, but json arrays can. >>>> >>>> So, it's not possible to form a heterogeneous json array, when this is >>>> often >>>> desired. >>> >>> This is not really a bug because the feature is working as intended. >>> Postgres arrays are homogonous so what you're asking really isn't >>> possible. You can though use row_to_json to work around: >>> >>> select row_to_json(row('foo', 100, true)); >> >> That doesn't produce the same results. >> >> Call it a feature request or a bug report, the postgres json support fails >> to make the json I need. > > I didn't say that it did: what it does is return a javascript object > which is only a very little bit different from an array. For example, > you can do jquery each() over either. I guess if you had to have an > array, you could do it like this: > > array_to_json(ARRAY['foo'::text, 100::text, true::text]) Still not exactly the same json, since 100 and true would be quoted strings. I'm not parsing it with jQuery, it's a client with type expectations. -Greg -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs