我完全不知所措。尝试JSON.parse()
以下字符串时出现异常:
{"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"}
异常报告的确切错误是:
JSON.parse:JSON数据第1行第1列的意外字符
根据JSONLint,字符串语法是正确的。我还确认数据类型是字符串。
可能导致异常的原因是什么?
答案 0 :(得分:0)
也许你忘了引用字符串?
console.log(JSON.parse('{"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"}'))

省略引号会产生一个对象文字:
console.log({"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"})

答案 1 :(得分:0)
你可能从字面上分配了这个值,这个对象不是字符串,所以:
var invalidJSON = {"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"};
var validJSON = '{"result":0,"extra":"2a9e10ecdeb8e65165c8635d51fd6b8f6fa7c10e951167a093ac1621e81dd7e8"}';