JSON.parse(null)和JSON.parse(false)是否不应该引发异常?

时间:2018-11-01 05:37:42

标签: javascript json

JSON.parse(...)的参数应该是有效的json字符串,但null和false并不是字符串。

注意,我正在传递javascript null 而不是'null'(作为字符串)。显然,JSON.parse('null')应该可以正常工作。

JSON.parse(null) returns null?!
JSON.parse(false) returns null?!

他们不是应该抛出异常吗?

JSON.parse(undefined) throws exception, as expected
JSON.parse('') throws exception, as expected

(在最近的Chrome和Firefox中测试)

1 个答案:

答案 0 :(得分:4)

while( (a != 0) && (b != 0) ){ if (abs(a)>=abs(b){ a = abs(a) % abs(b); } else if(abs(b)>abs(a)){ b = abs(b) % abs(a); } } explicitly casts the argument to a stringJSON.parse在字符串null中产生字符串'null'false'false'null是有效的JSON值,因此它们可以很好地解码。