On 11/5/20 7:45 AM, Tony Shelver wrote:
---------- Forwarded message ---------
From: *Tony Shelver* <tshelver@xxxxxxxxx <mailto:tshelver@xxxxxxxxx>>
Date: Thu, 5 Nov 2020 at 17:45
Subject: Re: JSONB order?
To: Christophe Pettus <xof@xxxxxxxxxxxx <mailto:xof@xxxxxxxxxxxx>>
Thanks Christophe, that's what I thought.
Just seemed weird that they were 'disordered' in exactly the same way
every time.
Probably because that resolves to the most efficient way to store in
jsonb for that particular record.
FYI, as of Python 3.7, dicts /_are_/ ordered.
By insertion order so updating a dict with a new item will add new key
to end.
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@xxxxxxxxxxxx
<mailto:xof@xxxxxxxxxxxx>> wrote:
> On Nov 5, 2020, at 07:34, Tony Shelver <tshelver@xxxxxxxxx
<mailto:tshelver@xxxxxxxxx>> 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@xxxxxxxxxxxx <mailto:xof@xxxxxxxxxxxx>
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx