Hi,

I use both, NeoJSON and STON and I agreed with Sven here. Having both separated give different entry points for different developers. Data oriented ones would start probably with NeoJSON while devs looking for more general data serialization language for graphs, documents and so on will start with STON.

Cheers,

Offray


On 01/07/16 04:54, Sven Van Caekenberghe wrote:
On 01 Jul 2016, at 11:27, Esteban Lorenzano <[email protected]> wrote:

btw, why NeoJSON is not deprecated in benefit of STON?
Although there is obviously a relation between the two (STON is inspired by 
JSON, STON has some basic backward compatibility with JSON, same project style, 
same author), there are also differences.

JSON is by definition much simpler and much more limited (no type info for 
objects, no complex structures like shared and circular references) while STON 
was designed specifically to cover those.

JSON needs much more explicit mapping support to deal with anything except for 
simple maps and lists.

In terms of documentation, the API, it would confuse the hell out of regular 
JSON users to see things mixed up with STON which they are probably not 
interested in at all. I think this last point might even be the most important 
one.

Esteban

On 01 Jul 2016, at 08:52, stepharo <[email protected]> wrote:

Thanks sven

I was thinking to add a section in the chapter but I will wait for your 
solution.


stef


Le 1/7/16 à 00:56, Sven Van Caekenberghe a écrit :
Hi,

Yes, object properties in JSON are not ordered, by definition. But for humans 
it can make sense.
Converting your domain objects to OrderedDictionaries or overwriting 
#neoJSONOn: are valid ways to control NeoJSON.

However, I also think that it might be possible to solve the ordering 
requirement with a regular mapping, provided I make a little internal change - 
I will investigate that and report back.

Sven

On 30 Jun 2016, at 17:29, PBKResearch <[email protected]> wrote:

Bernardo
Thanks for this. After sending my previous mail, I did what I should have done 
first and looked at list of collection objects in the system browser. So I 
discovered OrderedDictionary for the first time. I am pleased to see that this 
is the key to the solution.
Peter
From: Pharo-users [mailto:[email protected]] On Behalf Of 
Bernardo Ezequiel Contreras
Sent: 30 June 2016 16:17
To: Any question about pharo is welcome <[email protected]>
Subject: Re: [Pharo-users] Provide a mapping for a collection of <Association>s 
in NeoJSON
Peter,
  i had the same issue, i couldn't find the way to do it, but i hack my own 
writing like this
NDBFood>>neoJsonOn: neoJSONWriter
            "custom writing"
              neoJSONWriter
                        writeMap:
                                    (OrderedDictionary new
                                                add: 'ndb_no' -> ndbno;
                                                add: 'full_name' -> name;
                                                add: 'food_group' -> fg;
                                                add: 'factors' -> self factors;
                                                add: 'nutrients' -> self 
nutrients;
                                                yourself)
i just implement my own writing for my objects.
HTH
On Thu, Jun 30, 2016 at 12:06 PM, PBKResearch <[email protected]> wrote:
Hello
I have recently used NeoJSON for the first time. All went pretty well, but I 
would like to make a small tweak to the output, which probably involves 
defining a mapping. I have read through the information in the NeoJSON pdf, and 
also looked at the class comments, but I am  a bit lost. Could Sven or anyone 
please give me a hint?
What I want is to construct a JSON object as a Pharo dictionary, but then 
control the order in which the fields are output to the JSON file. Clearly the 
order is irrelevant for a computer, but it could be helpful to a human reader 
to put them in an order which reflects the way humans think about the objects. 
The keys of a dictionary are of course unordered, so this is not possible, but 
if we step back a bit we see that a dictionary is often constructed from a 
collection of associations; if we could stop at this stage, and have a mapping 
which outputs the associations in the order in which they appear in the 
collection, this would give the control I am looking for.
Am I talking nonsense, or is there any way of implementing this using NeoJSON 
mappings?
Best wishes
Peter Kenny
--
Bernardo E.C.
Sent from a cheap desktop computer in South America.







Reply via email to