2012-10-24 6 views
0

나는 json 객체를 가져오고 있습니다. 이것은 $.parseJSON 출력의 결과입니다. 나는 그것을 도울 핸들러가 필요하지만 도우미에 속한 것이 무엇인지 확신 할 수 없다는 것을 이해합니다. 다른 사용자의 질문을 읽으면 불행히도 내 경우에는 항상 다릅니다. 일정한 키를 사용하기 때문에 다음 농구대를 뛰어 넘을 수 있습니다. 에루핑 json 객체 키 => 배열


JSON 출력

[ 
{ 
    "High blood pressure?": [ 
     "no", 
     "string" 
    ] 
}, 
{ 
    "Cancer?": [ 
     "no", 
     "string" 
    ] 
}, 
{ 
    "Asthma or a breathing disorder?": [ 
     "no", 
     "string" 
    ] 
} 
] 

루프


{{#each screen_data}} 
<tr> 
    <td class="bold">{{this}}</td> 
</tr> 
{{/each}} 

결과

+1

http://stackoverflow.com/questions/5113847/accessing-elements-of-json-object-without-knowing-the-key-names를 참조하십시오. – Radu

+0

그와 같은 것을 피하기 위해 바라건대, 핸들 바에는 처리 할 수있는 무언가가 내장되어 있습니다. 모든 기능이 깨끗하게 유지되도록 – Bankzilla

+0

이상적으로 y ou는보다 일관된 자체 기술 (및 높은 무결성) 데이터 표현을 사용해야하지만, 핸들러를 사용하여이 경로로 이동하려면 헬퍼를 만들어야합니다. –

답변

0

에서 당신에게 모든 열쇠를 줄 것이다, 그리고 당신이 .. 객체를 작성하는 템플릿을 말하고있는거야 . 개체의 루트에 유일한 속성을 쓰고 싶은 것 같습니다. 이것은 질문입니다.

당신이 거기가 이상한 JSON 구조의
{{#each screen_data}} 
<tr> 
    <td class="bold">{{this[0]}}</td> 
</tr> 
{{/each}} 

, 내가 말을해야 :

이 시도. 일반적으로 개체 속성 이름을 이와 같은 데이터의 이동 통신사로 사용하는 것은 좋지 않습니다.

편집 : 그래서 같은 ... 당신의 데이터를 나타냅니다 더 나은 뭔가를 그 구조를 변경 권 해드립니다 : 다음 템플릿을 의미

[{ 
    question: "High blood pressure?", 
    answers: [ 
     "no", 
     "string" 
    ] 
}, 
{ 
    questions: "Cancer?", 
    answers: [ 
     "no", 
     "string" 
    ] 
}, 
{ 
    question: "Asthma or a breathing disorder?", 
    answers: [ 
     "no", 
     "string" 
    ] 
}] 

이 너무과 같습니다

{{#each screen_data}} 
<tr> 
    <td class="bold">{{this.question}}</td> 
</tr> 
{{/each}} 
+0

'this [0]'는 효과가 없습니다. 나는 구조를 당신의 것과 가까운 곳으로 바꾸고 결국 배열 구조를 참조 할 수 없기 때문에 대답 섹션의 키를 포함 시켜서 값을 참조 할 다른 방법을 찾아야했다. – Bankzilla

0

아래의 방법으로 시도해 볼 수 있습니다. 그것은 JSON 데이터

http://jsfiddle.net/tariqulazam/SjugS/

당신이 객체의 배열을 가지고 때문입니다
var data= [ 
{ 
    "High blood pressure?": [ 
     "no", 
     "string" 
    ] 
}, 
{ 
    "Cancer?": [ 
     "no", 
     "string" 
    ] 
}, 
{ 
    "Asthma or a breathing disorder?": [ 
     "no", 
     "string" 
    ] 
} 
]; 

for (var key in data) { 
     for (var item in data[key]) {  
      alert(item); 
     } 
}