2013-12-22 1 views
1

AJAX 및 JSON을 처음 사용하면서 잠시 동안 문제가 없습니다. 하지만 지금은 무작위 사용자 생성기를 사용하고 있습니다 ->http://randomuser.me/JSON 콜백 문제

문제는 내가 AJAX 요청을 한 후에 응답으로 JSON 객체를 얻었지만 다른 모든 작업과는 다릅니다. 이 값은 콘솔 로그에서 얻을 수없는 값입니다.

Object {results: Array[1]} 
    results: Array[1] 
    0: Object 
     seed: "b68b37c1b5346af" 
     user: Object 
     SSN: "152-27-4426" 
     cell: "(316)-378-6161" 
     email: "[email protected]" 
     gender: "male" 
      location: Object 
      city: "the colony" 
      state: "georgia" 
      street: "4660 w belt line rd" 
      zip: "38439" 

문제는 내가 우편 번호에 도착하기 위해 노력하고 있지만, 코드 내가 두 번째 객체에 stucked있어 경우이다 '0'. 내가

$.ajax({ 
     url: randomuserURL, 
     dataType: 'json', 
     success: function(data){ 
     console.log(data); 
     } 
}); 

을 표시했습니다으로

모든 데이터를 검색하려면 코드입니다하지만 난에 콘솔 로그를 변경하는 경우 :

$.ajax({ 
     url: randomuserURL, 
     dataType: 'json', 
     success: function(data){ 
     console.log(data.results.[0]); 
     } 
}); 

나는 오류가 발생했습니다. 또한 이것 만하면됩니다.

console.log(data.results.0); 

아무도 내가 이것을 어떻게 처리 할 수 ​​있는지 설명 할 수 있습니까?

+1

'data.results [0]'? – DCoder

답변

2

이 너무 이해가되지 않습니다 두 가지를 동시에 사용하여 .[ ] 연산자가 동일한 기본 개념의 두 가지 종류입니다

console.log(data.results[0]); 

console.log(data.results.[0]); 

아니다. 미리 알고있는 (즉, 런타임에 속성 이름이 결정되지 않은) "깨끗한"이름을 가진 속성에 액세스하려는 경우 . 연산자를 사용할 수 있습니다. 그렇지 않으면 [ ]입니다.

이 경우 사용자는 을 수행해야합니다.은 사전에 속성 이름을 알고 있습니다.이 속성은 "0"입니다. 유감스럽게도 "0"은 유효한 식별자 이름이 아니므로 .을 사용할 수 없습니다.