>>> a) Allow strings, numbers, Booleans, and null in addition to objects
>>> and
>>> arrays as top level JSON text.
>>> The ES5 spec. already has this although it isn't in the RFC. I haven't
>>> heard any suggestions that we remove it.
>> How can you allow "strings" as top level JSON text?
>
> A piece of text is either a string literal or it is not -- i suspect
> you're confusing JSON.parse("foo") where you are passing a string
> containing the characters f,o and o with JSON.parse("\"foo\"") in which
> the string contains the characters ",f,o,o and " -- eg. a string
> literal.
Indeed I was, particularly since IE8's implementation doesn't seem to
understand this string-inside-string feature yet so when I tried this earlier I
remained confused :-p. Thanks for clarifying.
Another question: The JSON grammar says
JSONNumber ::
-opt DecimalIntegerLiteral JSONFraction opt ExponentPart opt
JSONFraction ::
. DecimalDigits
This apparently makes numbers like "1." illegal? Should this really throw:
JSON.parse('[1.]') ?
And what about
JSON.parse('[1.e10]') ?
Both are of course allowed in normal JavaScript source text.
--
Hallvord R. M. Steen, Core Tester, Opera Software
http://www.opera.com http://my.opera.com/hallvors/
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss