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是正确的,请检查以下三点,
- 检查GetJSON的URL或任何Ajax调用是正确的
- 确保你的ajax调用中的行dataType:“json”
- 检查你正确加载的jQuery文件。