如何从 JSON 中提取其值为 true 的键

Abh*_*rma 6 html json angular

我有以下 JSON,我想从中提取技能是真的。

[  
   {  
      "_id":"5de9f351baca28556c6a4b71",
      "Name":"Harsha",
      "Age":20,
      "Gender":"M",
      "Skills":{  
         "Java":"",
         "Mule":true,
         "Angular":""
      }
   },
   {  
      "_id":"5de9f358baca28556c6a4b72",
      "Name":"Anji",
      "Age":21,
      "Gender":"M",
      "Skills":{  
         "Java":"",
         "Mule":true,
         "Angular":true
      }
   },
   {  
      "_id":"5dea110297c2b65298b136e4",
      "Name":"Abhi",
      "Age":25,
      "Gender":"M",
      "Skills":{  
         "Java":"",
         "Mule":true,
         "Angular":""
      }
   }
]
Run Code Online (Sandbox Code Playgroud)

我可以使用以下代码打印其余数据

<table *ngIf="formTemplate">
        <tr>
            <th *ngFor="let header of questionTitleArray" >{{header}}</th>
        </tr>

        <tr *ngFor="let data of surveyDataFromDB">
                <ng-container *ngFor="let head of questionTitleArray">
                <td>{{data[head]}}</td>         
        </ng-container>
        </tr>
    </table>
Run Code Online (Sandbox Code Playgroud)

(这里的 JSON 是“surveyDataFromDB”)

下面是我得到的输出

Name    Age Gender  Skills
Harsha  20  M   [object Object]
Anji    21  M   [object Object]
Abhi    25  M   [object Object]
Run Code Online (Sandbox Code Playgroud)

我想要真正的技能代替 [object Object]。请帮忙。

Abh*_*rma 2

<table>
            <tr>
              <th *ngFor="let header of questionTitleArray">{{ header }} </th>
            </tr>
            <tr *ngFor="let data of surveyDataFromDB">
                    <ng-container *ngFor="let head of questionTitleArray">
                     <span *ngIf="checkType(data[head]) else elsePart">
                        <span *ngFor="let j of data[head] | keyvalue">
                           <td *ngIf="j.value==true">
                                {{j.key}} 
                           </td>
                        </span>
                     </span>
                     <ng-template #elsePart>
                         <td>{{data[head]}}</td> 
                     </ng-template>    
                   </ng-container>
                 </tr>
          </table>
Run Code Online (Sandbox Code Playgroud)

在 ts 中:

checkType(Ob:any)
 {
  if(typeof (Ob) === 'object')
  return true;
  else
  return false;
 }
Run Code Online (Sandbox Code Playgroud)