Answers:
您不是在解析字符串,而是在解析一个已经解析的对象:)
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.
您可以通过简单地使用将对象传递给parse函数之前,确保将其字符串化 JSON.stringify()
。
在下面更新了您的行,
JSON.parse(JSON.stringify({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false}));
或者如果您将JSON存储在某些变量中:
JSON.parse(JSON.stringify(yourJSONobject));
对于OP并非如此,但是此错误可能是由于对字符串使用单引号('
)而不是双引号()引起的"
。
的JSON规范需要字符串双引号。
例如:
JSON.parse(`{"myparam": 'myString'}`)
给出错误,而
JSON.parse(`{"myparam": "myString"}`)
才不是。请注意周围的引号myString
。