Argument to JSON.parse(...) is supposedly a valid json string, but null and false are not strings.
Note, I am passing javascript null not 'null' (as a string). Obviously JSON.parse('null') should work just fine.
JSON.parse(null) returns null?!
JSON.parse(false) returns null?!
Shouldn't they they throw exceptions?
JSON.parse(undefined) throws exception, as expected
JSON.parse('') throws exception, as expected
(Tested in recent Chrome and Firefox)
JSON.parse
explicitly casts the argument to a string. null
results in the string 'null'
and false
in the string 'false'
. null
and false
are valid JSON values, so they decode just fine.