[erlang-questions] No JSON/MAPS interoperability in 17.0?
Richard A. O'Keefe
ok@REDACTED
Thu Mar 13 22:52:44 CET 2014
On 14/03/2014, at 9:31 AM, Carsten Bormann wrote:
> On 12 Mar 2014, at 00:31, Richard A. O'Keefe <ok@REDACTED> wrote:
>
>> RFC 7159 is ambiguous on a number of key points, and
>> existing parsers differ on those points. To give just
>> one example, if you are given
>> {"foo": 1, "foo": 2}
>> should this be (a) an error, (b) equivalent to {"foo": 1},
>> (c) equivalent to {"foo": 2}, or (d) something else?
>
> The example you cite is using JSON’s syntax, but not compatible with JSON’s data model.
ECMA 404 doesn't *HAVE* a data model.
>
> RFC 7159 is not ambiguous at all here (even if the spec language is slightly broken):
Sorry, I *meant* to write "RFC 4627".
In fact the issue that caused me grief with 4627
is one of the things that's been fixed in 7159
(which I wasn't aware of).
Maybe RFC 7159 is not ambiguous now. (The versions
that's up now
, but ECMA 404 does not have
anything like the text cited from RFC 7159.
The original specification of JSON said that it was a
*binary* format where characters must be encoded as UTF-8.
RFC 7159 says that it SHALL be UTF-8, UTF-16, or UTF-32
but then forbids the use of a BOM!
In contrast, ECMA 404 defines JSON as a sequence of Unicode
code-points, saying nothing about encoding.
Presumably an ECMA-404-compliant implementation of JSON
could use UTF-16 *with* a BOM, or SCSU, or some private
encoding convention...
I think you will agree that the existence of *two*
standards (RFC 7159 and ECMA 404) with differing content
is a problem all by itself.
More information about the erlang-questions
mailing list