Just as a comment to Henrik, NeoJSON will already preserve the order of an OrderedDictionary. When working with Stef on the HTML scraping booklet, I decided to find a way to preserve the order of the selected items, partly for aesthetic reasons, but mainly to demonstrate that the output matched the problem specification. I switched the collection of the output items to an OrderedDictionary, not knowing whether it would work, and it came out as expected. Building an OrderedDictionary of just the required instvars would solve both the OP's problems, though perhaps less elegantly.
Peter Kenny -----Original Message----- From: Pharo-users <pharo-users-boun...@lists.pharo.org> On Behalf Of Sven Van Caekenberghe Sent: 25 July 2018 17:49 To: Any question about pharo is welcome <pharo-users@lists.pharo.org> Subject: Re: [Pharo-users] NeoJSON sorting instance variables/properties > On 25 Jul 2018, at 17:54, Henrik-Nergaard <draag...@outlook.com> wrote: > > Hi Peter, > > This functionallity is already available in STON where it preserves > the order when you use an OrderedDictionary. > And was implemented for the usecase of dealing with fileout and versioning. > Perhaps the same could be added to NeoJson so that instead of some > magic flag you provide an OrderedDictionary sorted as you would like > and it would then preserve the order. You are right, using OrderedDictionaries would fix the order. But I don't think that is what he wants: to fix the order of arbitrary objects being mapped. Even in STON the order of properties of objects is undefined (as it is in JSON). > If you aim to use it to preserve metada for filetree then there is a > patch for that which can be found at > https://github.com/DraagrenKirneh/PharoUtilities/tree/master/FileTreeF > ix > > Best regards, > Henrik > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html >