> On Nov 5, 2020, at 8:45 AM, Tony Shelver <tshel...@gmail.com> wrote: > > > > ---------- Forwarded message --------- > From: Tony Shelver <tshel...@gmail.com <mailto:tshel...@gmail.com>> > Date: Thu, 5 Nov 2020 at 17:45 > Subject: Re: JSONB order? > To: Christophe Pettus <x...@thebuild.com <mailto:x...@thebuild.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 <x...@thebuild.com > <mailto:x...@thebuild.com>> wrote: > > > > On Nov 5, 2020, at 07:34, Tony Shelver <tshel...@gmail.com > > <mailto:tshel...@gmail.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 > x...@thebuild.com <mailto:x...@thebuild.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.