<div dir="ltr">Let's not forget though that most languages implementation of JSON uses hash tables.<div>Before 17.0, the JSON mapping used lists; taking lookup linear time.<br><div>Maps have a lookup time of O(log n).<br>

That's still not O(1)…</div></div></div><div class="gmail_extra"><br clear="all"><div><div dir="ltr"><div><div><br></div><div>Cheers,</div><div>-- </div><div>Pierre Fenoll</div></div><div><br></div></div></div>
<br><br><div class="gmail_quote">On 8 March 2014 14:42, Carsten Bormann <span dir="ltr"><<a href="mailto:cabo@tzi.org" target="_blank">cabo@tzi.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

It is true that different applications may need different mappings of the JSON data model into the data model of the specific application, but the following is not a valid reason:<br>
<div class=""><br>
On 08 Mar 2014, at 13:14, Jesper Louis Andersen <<a href="mailto:jesper.louis.andersen@gmail.com">jesper.louis.andersen@gmail.com</a>> wrote:<br>
<br>
> And to make things worse, there are small fluctuations in the "standard" which make it hard to create proper support. Adding a `json` module to the standard library is asking for jumping into this minefield.<br>


<br>
</div>The “standard” has been stable since RFC 4627, which was published in July 2006.<br>
Since, ECMA TC39 (the committee for changing JavaScript) has decided to allow top-level numbers, primitives (false, true, null), and strings; the IETF has reluctantly followed this change and published RFC 7159 with that change.<br>


<br>
Apart from the question whether one should accept top-level numbers/primitives/strings (and it is easy for an application to follow the Postel principle here: be liberal in what you accept and conservative in what you send), there has been no “fluctuation” in JSON.<br>


<br>
With the acceptance of UTF-8 strings (“binaries”) into the Erlang world, there is a straightforward mapping of JSON data into the Erlang model.<br>
Mapping back may require a bit more application knowledge (e.g., how do you encode non-JSON concepts such as atoms?), but a basic mapping can easily be part of the standard library, certainly easier than for ASN.1 or XML.<br>


<br>
Grüße, Carsten<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div>