JSON.parse()不能处理jQuery数据对象

时间:2013-02-14 15:36:32

标签: javascript jquery json

我通过jQuery $.getJSON(url, function(data) {获得了一个JSON文件... 并希望用

解析它
var obj = JSON.parse(data);

var obj = jQuery.parseJSON(data);

第一行给出了“语法错误”(使用IE8,应该支持JSON.parse),第二行给我“'center'是null或者不是对象”。

这是我正在使用的有效JSON文件:

{
"center":{"lat":"51.99637","lon":"13.07520"},
"locations":
[
    { "name":"a string","info":"another string" },
    ... some more here ...
]
}

我对Javascript不太熟悉。我做错了什么?

如果我使用简单的JSON数组(=只是位置的内容),我会获得$.each的有效数据。 在我可以使用JSON.parse之前,我是否必须对数据执行某些操作?

2 个答案:

答案 0 :(得分:5)

问题是函数的名称有点误导:它不会给你JSON但已经是一个已解析的对象。它的作用是获取一些JSON并为你解析它。

data是一个普通的javascript对象,你不需要解析它。

答案 1 :(得分:2)

$。getJSON将为您解析数据 - 您不需要在事后解析它。