我通过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之前,我是否必须对数据执行某些操作?
答案 0 :(得分:5)
问题是函数的名称有点误导:它不会给你JSON
但已经是一个已解析的对象。它的作用是获取一些JSON
并为你解析它。
data
是一个普通的javascript对象,你不需要解析它。
答案 1 :(得分:2)
$。getJSON将为您解析数据 - 您不需要在事后解析它。