2017-09-26 5 views
0

재귀 JSON을 사용하여 핸들 막대 템플릿을 만들고 싶지만 JSON의 키가 무엇인지 알지 못합니다. (변경할 수도 있습니다) 또한 IF 구문이 필요합니다. 그것을 할 수있는 도우미를 만드는 방법이 있습니까? 이제 내 대답은 [객체 객체]입니다.재귀 JSON 핸들

var json={ 
"results": [ 
{ 
    "collection": "employer", 
    "summary":{ 
    "person": [ 
     { "name": "My name" }, 
     { "lastname": "My lastname" }, 
     { "address": "Street" } 
    ], 
    "job": "CEO" 
    } 
}, 
{ 
    "collection": "employer", 
    "summary":{ 
    "person": [ 
     { "name": "My name" }, 
     { "lastname": "My lastname" }, 
     { "address": "Street" } 
    ], 
    "job": "Administrator" 
    } 
}, 
{ 
    "collection": "company", 
    "summary": "Company1" 
}, 
{ 
    "collection": "company", 
    "summary": "Company2" 
} 
    ] 
}; 

My output

감사 : 이것은 내 jsfiddle https://jsfiddle.net/deherinu/dvn4076h/

내 JSON입니다!

답변

0

콘텐츠를 person 개체 주위에 감싸십시오.

<script id="template" type="text/x-handlebars-template"> 
    <div style="width: 80%; margin: 0 auto;"> 
    {{#results}} 
    <h3 style="text-transform: uppercase;">{{collection}}</h3> 
    {{#xif " collection == 'employer' " }} 
    {{#summary}} 
    {{#person}} 
    <div> 
     <table> 
     <tbody> 
      {{#each this}} 
      <tr> 
      <td><b>{{@key}}</b></td> 
      <td>{{this}}</td> 
      </tr> 
      {{/each}} 
     </tbody> 
     </table> 
    </div> 
    {{/person}} 
    {{/summary}} 
    {{else}} 
    <div> 
     {{summary}} 
    </div> 
    {{/xif}} 
    {{/results}} 
    </div> 
</script> 
+0

Thanksithith, 문제는 키의 이름을 모른다는 것이고, "사람"이 다른 것일 수 있다는 것입니다. – kakaw

+0

흠. 입력 데이터 형식을 모른 채 데이터를 바인딩하는 것은 어렵습니다. – Thusitha