假设我有一个从不同域返回的 JSON 对象,如下所示(这最初包含相当大的数据量,因此我省略了不相关的部分,同时保持其结构完整):
{
"query": {
"count": 1,
"created": "2013-10-08T21:06:49Z",
"lang": "en-US",
"results": {
"quote": {
"symbol": "GOOG",
"Ask": "854.63",
"AverageDailyVolume": "1837530",
"PreviousClose": "865.74"
}
}
}
}
尽管我对使用 JSON 感到相当自在,但我才刚刚开始学习用于与 JSON 交互的 jQuery .ajax 函数的具体细节。我编写了一些非常基本的代码(如下),只是为了确保我可以检索 JSON 对象并从中提取一个或多个值:
$.ajax({
type: "get",
cache: false,
dataType: "jsonp",
url: "http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.quotes where symbol in ('" + source + "') &format=json&diagnostics=true&env=http://Fdatatables.org/alltables.env&callback=?",
success: function(data) {
console.log(data.query.results.quote.symbol); // expected output is "GOOG"
}
});
当我在 Firefox 中运行上述代码时,我TypeError: data.query is undefined
在浏览器控制台中收到错误消息。我注意到已经发布了几个与我在这里提出的问题类似的问题,但还没有找到任何足以解决这个问题的东西——至少从我的理解来看是这样。
任何建议/提示将不胜感激。