JSON.parse意外的字符错误

我得到这个错误:

JSON.parse:意外的字符

当我在firebug中运行这个语句时:

JSON.parse({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false}); 

为什么这样? JSONstring似乎是正确的,我也使用JSHinttesting它。 在上述情况下传递的对象是一个内容types设置为application/json的服务器响应

你不parsing一个string,你parsing一个已经parsing的对象:)

 var obj1 = JSON.parse('{"creditBalance":0,...,"starStatus":false}'); // ^ ^ // if you want to parse, the input should be a string var obj2 = {"creditBalance":0,...,"starStatus":false}; // or just use it directly. 

通过简单地使用JSON.stringify() ,可以确保所讨论的对象在传递给parsing函数之前被string化。

更新你下面的线,

JSON.parse(JSON.stringify({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false}));

如果你的服务器的JSONstring是正确的,请检查以下三点,

  1. 检查GetJSON的URL或任何Ajax调用是正确的
  2. 确保你的ajax调用中的行dataType:“json”
  3. 检查你正确加载的jQuery文件。