2012-08-08 2 views
0

json 객체를 반복하고 추가 요소로 인해 실패합니다. 그것이 내가 내 결과를 얻기 위해 다음과 같은 사용하고 배열의 두 번째 요소에 실패javascript가 json 객체를 통해 이동하는 방법 요소가 있는지 알려주는 방법

{ 
"rootLayout":"main", 
"layoutDescriptions":[ 
     { 
     "type":"Panel", 
     "label":"Repeating Groups By Subform", 
     "layout":"SimpleForm", 
     "content":[ 
      { "type":"label", "constraint":"newline", "text":"Contacts" }, 
      { "type":"repeatableGroup", "property":"contacts", "contentRef":"ContactSubForm" } 
     ] 
     }, 
     { 
     "type":"Panel", 
     "label":"", 
     "container" : { 
      "type":"Panel", 
      "layout":"SimpleForm", 
      "content":[ 
      { "type":"label", "constraint":"newline", "text":"Contact Name" }, 
      { "type":"ListView", "property":"contactName", "listProps":["contactName","telephone","email"] } 
      ] 
     } 
     }, 

노호

참조 코드

나는 그것의

data.layoutDescriptions[0].container.content[1].content 
이유로 인해 사용 중지 알고
data.layoutDescriptions[0].container.content[i].content 

예상 됨

data.layoutDescriptions[0].container.content[1].container.content 

내 질문에 어떻게 컨테이너가 존재한다면 어떻게해야합니까 다른 이렇게합니까.

나는이 순간에 노력하고 있습니다.

var contentObjects = data.layoutDescriptions[0].container.content[1].content; 
if(contentObjects.container){ 
       alert("container exists"); 
       } 
         else{ 
        alert("nope"); 
        } 

감사합니다.

+0

를 그래서 실제로 귀하의 질문에 JSON과는 아무 상관이 없습니다 만 어떻게 자바 스크립트 객체의 속성의 존재를 테스트? –

+0

[중첩 객체 키의 존재에 대한 자바 스크립트 테스트] 가능한 중복 (http://stackoverflow.com/questions/2631001/javascript-test-for-existence-of-nested-object-key) –

답변

1

사용 hasOwnProperty 확인하기 :

var contentObjects = data.layoutDescriptions[0].container.content[1]; 
if(contentObjects.hasOwnProperty('container'){ 
    alert("container exists"); 
} 
else{ 
    alert("nope"); 
} 
1

배열 layoutDescriptions에있는 모든 객체가 container이라는 것은 아닙니다. 첫 번째 개체를 반복 할 때 container을 찾은 다음 아무 것도 찾지 않고 contentundefined에서 검색하면 오류가 발생합니다.

data.layoutDescriptions[0].container.content[1] 내부에는 content 특성이 없습니다. contentObjectsundefined으로 설정되므로 contentObjects.container이 실패합니다. 객체가 자신의 속성이 존재하는 경우

관련 문제