Re: json function question - Mailing list pgsql-general

From David G. Johnston
Subject Re: json function question
Date
Msg-id CAKFQuwYzjSbirU_Op2jXsbJL4q6NXbG6FXLWt7yKW3_4jxJmiw@mail.gmail.com
Whole thread Raw
In response to Re: json function question  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-general
On Wednesday, February 24, 2016, Andrew Dunstan <andrew@dunslane.net> wrote:


On 02/24/2016 09:11 AM, David G. Johnston wrote:
On Wednesday, February 24, 2016, Andrew Dunstan <andrew@dunslane.net <mailto:andrew@dunslane.net>> wrote:


    Having json(b)_populate_record recursively process nested complex
    objects would be a large undertaking. One thing to consider is
    that json arrays are quite different from Postgres arrays: they
    are essentially one-dimensional heterogenous lists, not
    multi-dimensional homogeneous matrices. So while a Postgres array
    that's been converted to a json array should in principle be
    convertible back, an arbitrary json array could easily not be.


An arbitrary json array should be one-dimensional and homogeneous - seems like that should be easy to import.  The true concern is that not all PostgreSQL arrays are capable of being represented in json.



Neither of these things are true AFAIK.

1. The following is a 100% legal json array, about as heterogenous as can be:

   [ "a" , 1, true, null, [2,false], {"b": null} ]


2. Having implemented the routines to convert Postgres arrays to json I'm not aware of any which can't be converted. Please supply an example of one that can't.


Yeah, I confused heterogeneous and homogeneous.  That said we already only promise best effort so if presented with a non-complex array it would be nice to import it as part of that effort.  Even if something more complex cannot be and continues to fail.

David J.

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: json function question
Next
From: Adrian Klaver
Date:
Subject: Re: Ubuntu and Rails postgresql setup