JSON字符串到JavaScript对象错误

时间:2013-11-29 08:46:24

标签: javascript json

我有一个字符串:

{
  "key1": "val1",
  "key2": "",
  "keyObj": {
    "key3": 300,
    "key4": 259200
  }
}

我正在尝试将其转换为javascript对象:

 JSON.parse(my_str.toString());

但我收到错误:SyntaxError:意外的令牌o

为什么?

谢谢

1 个答案:

答案 0 :(得分:2)

my_str似乎已经成为一个对象。所以你不需要使用`JSON.parse。

因为my_str.toString()可能等于

[object Object]
 ^---------------- Unexpected token o

如果您使用jQuery.ajax,请记住jQuery自动转换JSON输入数据(如果它与相干标题匹配)

Content-type: application/jso

和/或如果您设置.ajax选项

dataType:'json'

如果您手动声明my_str =,那么只需在字符串周围添加引号(并将其放入一行或使用一些提示以执行multiline string

var my_str = '{"key1":"val1","key2":"","keyObj":{"key3":300,"key4":259200}}';

但手动做的没有多大意义。