一尘不染

为什么JSON.parse失败并显示空字符串?

json

为什么:

JSON.parse('');

产生错误?

Uncaught SyntaxError: Unexpected end of input

如果它刚返回就不会更合逻辑null吗?


阅读 675

收藏
2020-07-27

共1个答案

一尘不染

由于空字符串不是有效的JSON,因此JSON.parse('')返回不正确,null因为它"null"是有效的JSON。例如

JSON.parse("null");

返回null。无效的JSON也被解析为null将是一个错误。

空字符串不是有效的JSON,两个引号是有效的JSON。这是一个重要的区别。

也就是说,包含两个引号的字符串与空字符串不同。

JSON.parse('""');

将正确解析(返回一个空字符串)。但

JSON.parse('');

将不会。

有效的最小JSON字符串是

空对象 '{}'

空数组 '[]'

空字符串 '""'

一个数字,例如 '123.4'

布尔值true 'true'

布尔值false 'false'

空值 'null'

2020-07-27