为什么:
JSON.parse('');
产生错误?
Uncaught SyntaxError: Unexpected end of input
如果它刚返回就不会更合逻辑null吗?
null
由于空字符串不是有效的JSON,因此JSON.parse('')返回不正确,null因为它"null"是有效的JSON。例如
JSON.parse('')
"null"
JSON.parse("null");
返回null。无效的JSON也被解析为null将是一个错误。
空字符串不是有效的JSON,两个引号是有效的JSON。这是一个重要的区别。
也就是说,包含两个引号的字符串与空字符串不同。
JSON.parse('""');
将正确解析(返回一个空字符串)。但
将不会。
有效的最小JSON字符串是
空对象 '{}'
'{}'
空数组 '[]'
'[]'
空字符串 '""'
'""'
一个数字,例如 '123.4'
'123.4'
布尔值true 'true'
'true'
布尔值false 'false'
'false'
空值 'null'
'null'