Json 如何在我不知道的对象数组中执行*ngFor';我不知道财产的名称?

Json 如何在我不知道的对象数组中执行*ngFor';我不知道财产的名称?,json,angular,typescript,ngfor,Json,Angular,Typescript,Ngfor,我有一个名为dadosRelatorio的数组,我需要在我的模板中迭代它,这个数组是我在http请求中得到的: [{"id": 1, "name": "a", "class":[{ "Inglês":[{ "id": 1, "code": "teste" }, { "id": 2, "code": "teste 2" }], "Espanhol":[{ "id

我有一个名为
dadosRelatorio
的数组,我需要在我的模板中迭代它,这个数组是我在http请求中得到的:

[{"id": 1,
  "name": "a",
  "class":[{
     "Inglês":[{
        "id": 1,
        "code": "teste"
     },
     {
        "id": 2,
        "code": "teste 2"
     }],
     "Espanhol":[{
        "id": 1,
        "code": "a"
     }]
   }]
}]
如果类中的对象具有不同的属性名称,如何迭代它们?有时名字可以是“英格尔”,有时可以是“西班牙人”和其他名字

当我知道财产的名称时,我会这样做:

<div *ngFor="let aluno of dadosRelatorio" class="div-aluno">
       <span>Aluno: {{ aluno.name }}</span>
       <div *ngFor="let classe of aluno.class">
          <div *ngFor="let idioma of classe. ???>

          </div>
       </div>
</div>

Aluno:{{Aluno.name}

您可以使用
object.keys
枚举对象键。 看

编辑:您还可以使用keyvalue管道,如官方文档中所述:


我还以为有ngForIn指令,但我找不到该文档。

您可以使用
keyvalue
管道进行迭代,如下所示:

<div *ngFor="let aluno of dadosRelatorio" class="div-aluno">
    <span>Aluno: {{ aluno.name }}</span>
    <div *ngFor="let classe of aluno.class | keyvalue">
        <div> {{classe.key}}</div>
        <div *ngFor="let type of classe.value | keyvalue">
            {{type.key}}
            <div *ngFor="let data of type.value | keyvalue">
                {{data.value.id }}
                {{data.value.code }}
            </div>
        </div>
    </div>
</div>

Aluno:{{Aluno.name}
{{classe.key}
{{type.key}}
{{data.value.id}
{{data.value.code}

我尝试使用pipe keyvalue:但得到的结果是:找不到类型为“object”的不同支持对象“[object object]”。NgFor只支持绑定到数组等可重用对象。angular 8和您的示例对象在这里工作得很好,我得到的结果是:Inglês(classe.key)0(type.key),但id和代码中的te type.value为EmptyShems才能工作。你能检查一下吗?我想我的实际数组有点不同,但我认为我得到了正确的结果:{{classe.key}}{{type.key}}{{type.value.code}