javascript - 无法在 "var temp = {' 1':...}"上使用 JSON.parse 吗?

标签 javascript

我不断收到此错误:

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/

相关文章:

javascript - IE 7 浏览器上的 Wordpress 站点菜单问题

javascript - 多次启动 jQuery 函数

javascript - 如何在 JavaScript 中对数组元素进行 JSON 解码?

iframe 内的 JavaScript mousemove 事件

javascript - 在回调中使用带参数的函数

javascript - Node 中的 const,在不同的 block 中

Java/Javascript - 从客户端获取 IP

javascript - 圆形物体上的垃圾收集?

java - mozilla rhino 从 javascript 覆盖一个对象方法

javascript - 在新的 React 图表中使用从 Highcharts 编辑器导出的数据