为什么:
JSON.parse('');
产生错误?
Uncaught SyntaxError: Unexpected end of input
如果直接返回不是更符合逻辑吗null
?
编辑:这不是链接问题的重复。虽然最小有效 json 的主题与这个问题相关,但它没有得到“为什么”。
由于空字符串不是有效的 JSON,因此它是不正确的JSON.parse('')
回来null
因为"null"
是有效的 JSON。例如
JSON.parse("null");
returns null
。如果无效的 JSON 也被解析为 null,那将是一个错误。
虽然空字符串不是有效的 JSON,但两个引号才是有效的 JSON。这是一个重要的区别。
也就是说,包含两个引号的字符串与空字符串不同。
JSON.parse('""');
将正确解析(返回空字符串)。但
JSON.parse('');
将不会。
有效的最小 JSON 字符串是
空物体'{}'
空数组'[]'
空字符串'""'
一个数字,例如'123.4'
布尔值 true'true'
布尔值 false'false'
空值'null'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)