Re: BUG #7620: array_to_json doesn't support heterogeneous arrays - Mailing list pgsql-bugs

From Merlin Moncure
Subject Re: BUG #7620: array_to_json doesn't support heterogeneous arrays
Date
Msg-id CAHyXU0wHvbzGfMtz_4=Ncy1vH8QhYQ8i=ka=U=Vq1yqvobSLXg@mail.gmail.com
Whole thread Raw
In response to BUG #7620: array_to_json doesn't support heterogeneous arrays  (ghazel@gmail.com)
Responses Re: BUG #7620: array_to_json doesn't support heterogeneous arrays  (Greg Hazel <ghazel@gmail.com>)
List pgsql-bugs
On Tue, Oct 23, 2012 at 8:05 PM, Greg Hazel <ghazel@gmail.com> wrote:
> On Oct 23, 2012, at 6:03 PM, Merlin Moncure <mmoncure@gmail.com> wrote:
>
>> On Tue, Oct 23, 2012 at 6:32 PM,  <ghazel@gmail.com> wrote:
>>> The following bug has been logged on the website:
>>>
>>> Bug reference:      7620
>>> Logged by:          Greg Hazel
>>> Email address:      ghazel@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])

merlin

pgsql-bugs by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: BUG #7620: array_to_json doesn't support heterogeneous arrays
Next
From: Craig Ringer
Date:
Subject: Re: Posrgresql for Suse linux 64-bit version on OS/390