JSON parser grammar
Oliver Hunt
oliver at apple.com
Fri Jul 3 17:29:24 PDT 2009
On Jul 3, 2009, at 3:41 PM, Hallvord R. M. Steen wrote:
> On Wed, 03 Jun 2009 21:42:46 +0200, Allen Wirfs-Brock <Allen.Wirfs-Brock at microsoft.com
> > wrote:
>
>> 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.
>
>
> This may be a stupid question, but..
>
> How can you allow "strings" as top level JSON text and keep the
> 15.12.2 step 2 requirement that JSON.parse() must throw if the input
> isn't valid JSON source text? In other words, how is an
> implementation supposed to know if I'm passing in a string of random
> content that should be "parsed" into a string or a malformed piece
> of JSON that should cause an exception?
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.
--Oliver
More information about the es-discuss
mailing list