2012-11-20 3 views
0

내 html 파일이이 undefined가 :JSON 파서 반환

var jsonReturn = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22YHOO%22%2C%22AAPL%22%2C%22GOOG%22%2C%22MSFT%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json'; 
var stockCount = jsonReturn.query.count; 

오류가 크롬의 디버거에 반환하십시오 jfiddle 여기 Uncaught TypeError: Cannot read property 'count' of undefined

입니다 JSON 반환 개체 : enter image description here

** 질문 ** **를 통해 올바르게 구문 분석 할 때 정의되지 않은 이유는 무엇입니까?

답변

2

URL 문자열이 객체 인 것처럼 액세스하려고합니다. 실제로 URL에서 데이터를 검색하고 파싱 한 다음 객체에 할당하지 않습니다.

+0

실제로 가짜입니다. 어떻게하면 JSON 객체를 얻을 수 있습니까? – bouncingHippo

+0

@bouncingHippo, 나는 이것이 웹 페이지라고 가정하고 서버 쪽이 아닌 것으로 가정합니다. 그렇다면 교차 원산지 문제가 있습니다. CORS (제한된 브라우저 기능), JSON-P (기발한 것이지만 어떤 것도 사용할 수 있음) 또는 XHR 요청을 사용할 수 있도록 서버 측 프록시를 만들 수 있습니다. 야후! CORS 또는 JSON-P를 지원합니다. 찾아. 사용 가능한 경우 JSON-P를 사용하는 것이 좋습니다. XHR을 끝내면 https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest를 확인하십시오. – Brad

+0

@bouncingHippo, 야후! JSON-P를 지원합니다. http://stackoverflow.com/questions/9237593/using-the-yahoo-weather-api-with-json-and-the-script-tag – Brad