Re: JSONB order?

From: Rob Sargent <robjsargent(at)gmail(dot)com>
To: Tony Shelver <tshelver(at)gmail(dot)com>
Cc: pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: JSONB order?
Date: 2020-11-05 16:27:43
Message-ID: BCF7B6B0-B8E3-4B63-A75F-3C423B16111A@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> On Nov 5, 2020, at 8:45 AM, Tony Shelver <tshelver(at)gmail(dot)com> wrote:
>
>
>
> ---------- Forwarded message ---------
> From: Tony Shelver <tshelver(at)gmail(dot)com <mailto:tshelver(at)gmail(dot)com>>
> Date: Thu, 5 Nov 2020 at 17:45
> Subject: Re: JSONB order?
> To: Christophe Pettus <xof(at)thebuild(dot)com <mailto:xof(at)thebuild(dot)com>>
>
>
> Thanks Christophe, that's what I thought.
> Just seemed weird that they were 'disordered' in exactly the same way every time.
>
> FYI, as of Python 3.7, dicts are ordered.
>
> The problem is that we are possibly going to have many versions of these forms with slightly differing keys, which will be a pain to order in some hard coded way.
>
>
>
> On Thu, 5 Nov 2020 at 17:40, Christophe Pettus <xof(at)thebuild(dot)com <mailto:xof(at)thebuild(dot)com>> wrote:
>
>
> > On Nov 5, 2020, at 07:34, Tony Shelver <tshelver(at)gmail(dot)com <mailto:tshelver(at)gmail(dot)com>> wrote:
> > But... seen above, the order gets mixed up.
> >
> > Any ideas?
>
> JSON objects, like Python dicts, are not automatically ordered by key. Once you move from the column space to the JSON object space, you can't rely on the object keys being in a consistent order.
>
> You'll want to have a step when ingesting the JSON object into a report that lines up the key values appropriately with the right presentation in the report.
> --
> -- Christophe Pettus
> xof(at)thebuild(dot)com <mailto:xof(at)thebuild(dot)com>
>

Sounds like you’ll need a separate mechanism for maintaining versions of the forms and which headers represent the same data concept. Always access data via canonical header translated to current form.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Raphaël Enrici 2020-11-05 16:51:31 Diagnose memory leak in logical replication?
Previous Message David G. Johnston 2020-11-05 16:16:37 Re: JSONB order?