在回调函数中访问JSON数据结构

时间:2011-02-16 01:01:59

标签: json callback getjson

我从Yahoo API返回以下数据结构:

cbfunc({
    "query": {
        "count": 1,
        "created": "2011-02-16T00:48:51Z",
        "lang": "en-US",
        "results": {
            "place": {
                "woeid": "2487956"
            }
        }
    }
});

在我的代码中,我试图按如下方式访问它:

$.getJSON(url,function(json)
{
    $.each(json.query.results.place, function(i, item)
    {
        alert(item.woeid);
    });
});

但它不起作用。任何帮助将非常感激。谢谢。

2 个答案:

答案 0 :(得分:0)

我提出这个问题还为时过早。我做了像这样的ajax设置:

$.ajaxSetup({"error":function(XMLHttpRequest,textStatus, errorThrown) {   
        alert(textStatus);
        alert(errorThrown);
        alert(XMLHttpRequest.responseText);
    }});

一切都已修复。好吧,至少我发现有一个解析错误,然后重新格式化数据!

抱歉发帖!!!

答案 1 :(得分:0)

我认为它是JSONP而不是JSON。通过编写一个名为cbfunc的函数,你可以在返回的json上使用eval。