2011-09-07 4 views
0

사람이 내가, 나는 단순히 다음과 같은 JSON에서 값 검색하는 것을 시도하고 작동하려면 다음을 얻을 수없는 이유를 나에게 내 인생 이해할 수없는 위해 도울 수 :읽기 JSON 값 문제

{ 
"entities": [ 
    { 
     "id": "84", 
     "name": "jonathan", 
     "date": "2009-12-12", 
     "startTime": "T16:31:04", 
     "endTime": "T16:31:04", 
     "room": "Room1" 
    }, 
    { 
     "id": "87", 
     "name": "jonathan", 
     "date": "2011-12-12", 
     "startTime": "T16:44:03", 
     "endTime": "T16:44:03", 
     "room": "Room1" 
    }, 
    { 
     "id": "90", 
     "name": "jonathan", 
     "date": "2011-12-12", 
     "startTime": "T10:18:38", 
     "endTime": "T10:18:38", 
     "room": "Room1" 
    } 
] 
} 

나는 다양한 변화를 시도하고,이에게 천 번을 수행했지만 값에 액세스 할 수 없습니다 다음

console.log(data.entities[0].id); 

내가 출력 전체에 수 오전 도장 아약스 호출에서 JSON를 검색하고 있습니다 json을 console으로 변경하면 오류가 발생하지 않습니다.

확실히 나는 어리석은 학교 소년 오류를 돕고 있습니다!

+0

그 코드에서 오류 없음. 'console.log (data.entities [0]);,'console.log (data.entities)'및'console.log (data);는 무엇을합니까? – Znarkus

+0

오류가 발생 했습니까? DOJO에서 문자열로 간주되지 않고 JSON 객체로 볼 수 없다고 확신합니까? – epascarello

+1

유효한 JSON입니다. 구문 분석해야 할 수도 있습니다. 'JSON.parse (data) .entities [0] .id' – Joe

답변

0

나를 위해 확인을 작동하는 것 같다 : http://jsfiddle.net/77W58/

는 그것은 data 변수에 문제가 있어야합니다. 확실히 data이라고할까요? 범위 안에 있습니까? JSON이 아닌 문자열입니까? 분명히, 그러나 때때로 그것은 가장 단순한 것입니다.

+0

감사합니다 닉네임 데이터가 확실히 존재합니다. json 등이 잘 보이는 것처럼 코드의 다른 부분을 조사 할 것입니다. 건배 – jonnyhitek

0

귀하의 아약스 요청은 어떻게 생겼습니까? handleAs : 'json'속성이 없으면 응답이 텍스트로 반환됩니다. 이 경우 응답을 console.log로 보내면 응답이 표시되지만 객체로 입력되지는 않습니다.

dojo.xhrPost({ 
    url: '/something', 
    handleAs: 'json', 
    load: function(data){ 
    //this should show up as an Object in the console 
    console.log(data); 
    } 

}); 

dojo.xhrPost({ 
    url: '/something', 
    //optional, defaults to this property 
    handleAs: 'text', 
    load: function(data){ 
    //this should show up as a string in the console 
    console.log(data); 
    } 

});