Доступ к структуре данных JSON в функции обратного вызова - PullRequest
0 голосов
/ 16 февраля 2011

У меня есть следующая структура данных, возвращающаяся из API Yahoo:

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 голосов
/ 16 февраля 2011

Я думаю, что это JSONP, а не JSON. вы могли бы использовать eval на возвращенном json, написав функцию cbfunc.

0 голосов
/ 16 февраля 2011

Я был преждевременным задавать этот вопрос.Я установил ajax следующим образом:

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

и все было исправлено.Ну, по крайней мере, я обнаружил, что произошла ошибка разбора, а затем переформатировал данные!

Извините за пост !!!

...