Re: [xml-dev] List of differences between XML and JSON?
On Sun, May 3, 2015 at 5:42 AM, Thomas Passin <[email protected]> wrote:
>
> Well, actually, there is nothing to indicate that these two objects are the same.
> A javascript engine would create two objects, and if you were to change
> the properties of one, the other's properties would not automatically change.
Agreed. The example, and the way I am using this is strongly based on assumption that the objects are immutable.
We also need to remember, that JSON is widely used not only for representing javascript objects, but also in other important cases -- for example to express the input data for REST web services (seen in practice with the most widely used HTTP verbs) and for their response.
JSON is just a specific serialization mechanism -- how JSON would be de-serialized depends solely on the receiving end -- it may be serialized to something completely different than a javascript object.
Any good particular implementation would use objects immutability for sharing and efficiency.
For the XPath 3.1 map datatype, this is what makes possible to have efficient (sub-linear) implementations of map:put() and map:remove().
Even in a language such as C# there are some immutable objects, such as the string object. This led to a powerful string sharing feature: interned strings: https://msdn.microsoft.com/en-us/library/system.string.intern(v=vs.110).aspx
--
Cheers,
Dimitre Novatchev