为什么:
JSON.parse('');
产生错误?
Uncaught SyntaxError: Unexpected end of input
如果它刚刚归来,那不是更合乎逻辑null吗?
bhs*_*cer 100
由于空字符串无效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'
iam*_*eek 10
使用try-catch来避免它:
var result = null;
try {
  // if jQuery
  result = $.parseJSON(JSONstring);
  // if plain js
  result = JSON.parse(JSONstring);
}
catch(e) {
  // forget about it :)
}