3

我正在尝试从http://www.xyz.com/abc.json形式的 URL 检索数据。我一直在尝试以下列方式使用 $.ajax 方法来实现这一点。

    var json = (function () {
        var json = null;
        $.ajax({
            'async': false,
            'global': false,
            'url': "http://www.xyz.com/abc.json.",
            'dataType': "json",
            'success': function (data) {
                json = data;
            }
        });
        return json;
    })();

但是我无法让它运行。我需要遍历检索到的数据并检查一些特定条件。如果 json 数据有一个名称,这可以通过 $.getJSon 轻松实现,但是文件的格式如下:

    [{
        "name": "abc",
        "ID": 46 
    }]

因此,我必须先有效地将其转换并存储在 Javascript 对象变量中,然后才能使用它。关于我可能出错的地方有什么建议吗?

4

2 回答 2

1

看起来您希望将该data响应转换为 json 对象,方法是将其包装起来{ },然后将其传递给 json 解析器。

function (data) {
  json = JSON.parse("{\"arr\":"+data+"}").arr;
}

然后要获取您的数据,它将是

json[0].name  //"abc"
于 2013-02-17T06:04:03.633 回答
0

所以你的问题是如何将字符串转换为 Json 对象?如果您使用的是 Jquery,您可以执行以下操作:

jQuery.parseJSON( jsonString );

所以你的回报应该是:

return jQuery.parseJSON( json );

您可以在此处阅读文档

于 2013-02-17T04:57:53.640 回答