2012-02-21 2 views
2

JSON과 매우 혼동 스럽습니다. 첫 번째 수준의 배열 값을 쉽게 가져올 수 있지만 하위에는 문제가 있습니다.JSON 하위 배열 사용

내가 $ .getJSON을 사용하고 코드가

$.getJSON('http://www.authenticjobs.com/api/?api_key=4c4f1d5934d66ca872dfa2a0cfd3a20b&method=aj.jobs.search&perpage=3&format=json&callback=?', function(data) { 
var listings = "";  

$.each(data.listings.listing, function(index, listing) { 

    listings += "<li><strong>" + listing.company.name + "</strong> needs a <a href='" + listing.url + "'>" + listing.title + "</a>"; 

     if (listing.location != "") { 
      listings += " in " + listing.location; 
     } 

    listings += "</li>"; 

}); 

$("#authentic-jobs ul").append(listings); 

}); 

비주얼 데이터 것은 여기에 있습니다 : http://cloud.ignatynikulin.com/2v0F2p2x111r0X3k4441

내가 회사 위치 이름을 얻을 수 없습니다.

나는 listing.company.location.name을 시도했지만 제대로 작동하지 않으며 의미가 없습니다.

감사합니다.

대답 할 것이다 (당신에게 GregL 감사) : 당신은 그냥 여부를 확인 할 수 있도록 listing.company.location 이후

가 (당신이 첨부 된 그림에 {}에 의해 시각) 중첩 된 객체이다 개체는 정의되지 않은, null 또는 유사하지 않습니다 ( 은 Javascript에서 "거짓 값"이라고 함).

+0

당신이 당신의 배열을 형성하는 방법을 게시 할 수 :

열쇠는 사용할 수 있나요? 이미지를 볼 수 없습니다. –

+1

'listing.company.location.name'은 (는) 스크린 샷에 따라 정확합니다. –

답변

1

나는 here이 작동하는 jsFiddle을 만들었다 고 생각합니다.

if (listing.company.location) { 
     listings += " in " + listing.company.location.name; 
    } 
+0

감사합니다. 위치 정보가 있는지 확인해야한다고 생각했습니다. = "". – ignaty

+0

@ignaty'listing.company.location'는 연결된 그림의'{}'에 의해 시각화 된 중첩 된 객체이기 때문에 객체가 정의되지 않았는지, null인지 또는 객체가 아닌지 확인하기를 원할 것입니다 비슷한 (Javascript에서 "허위 값"이라고 불리는 것). – GregL

+0

나는 jQuery 대신에 일반 자바 스크립트를 배워야한다고 생각한다. 우리가 아직 여기에서 이야기하고 있기 때문에 그것에 대한 좋은 책. 고맙습니다! – ignaty

0
listings += " in " + listing.company.location.name;