javascript - JSON.parse() 不适用于 jQuery 数据对象

标签 javascript jquery json

我通过 jQuery 获取 JSON 文件 $.getJSON(url, function(data) { ... 并想用其中之一来解析它

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 之前,我是否必须对数据进行一些操作?

最佳答案

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

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

关于javascript - JSON.parse() 不适用于 jQuery 数据对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14878428/

相关文章:

javascript - 在 ng-repeat 中装饰 ng-click

javascript - 我怎样才能在我的网站上有多个 Accordion 下拉菜单。 HTML、CSS JavaScript

javascript将变量传递给另一个文件

javascript - 如何在特定页面上操作 DOM?

javascript - openpgpjs 示例中的错误 : 'openpgp.encrypt is not a function'

javascript - 如何将此语法转换为 CoffeeScript(js2coffee 不起作用)?

javascript - 通过键盘按键启动和停止

jquery - REST Web 服务与类似 RPC 的服务有何区别?

json - 使用 JOLT 转换重命名嵌套数组中的字段

javascript - MySQL 查询返回一个字符串作为 JSON_OBJECT() 的结果