我不断收到此错误:
SyntaxError: Unexpected token o
对于一段简单的代码:
var temp = {"1":["2","1","0000-00-00 00:00:00","testing once"],"2":["2","1","0000-00-00 00:00:00","testing twice :)"]};
console.log(JSON.parse(temp)); //error is here
var temp 是 json_encoded 数据..但我收到此错误 =/这意味着我错了?
最佳答案
这里的问题是这不是 JSON。那是一个 Javascript 对象。 (JSON 的语法源自 Javascript 对象的语法。)它不需要解析为 Javascript 对象,因为它已经是一个。
只需执行console.log(temp)
,您就会看到这一点。
您收到此奇怪消息的原因是,尝试对对象执行 JSON.parse
会使 Javascript 首先尝试将对象转换为字符串。结果的字符串没有帮助:"[object Object]"
。 JSON.parse
尝试解析它。它处理 [
但在第一个 o
上失败,因为这是非法的 JSON 语法。
关于javascript - 无法在 "var temp = {' 1':...}"上使用 JSON.parse 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10711777/