-1

我有一个 json 文件,其中包含另一个对象内的多个对象,我想在我的 HTML 页面中迭代键和值: 示例:

{
    "firstName": "Ayoub",
    "lastName": "Gammar",
    "mntDc": 502.0,
    "childs": [
        {
            "firstName": "Rafik",
            "lastName": "Mansour",
            "mntDc": 500.0,
            "username": "user3"
        },
        {
            "firstName": "Ahmed",
            "lastName": "Makni",
            "mntDc": 1.0,
            "childs": [
                {
                    "firstName": "ALi",
                    "lastName": "hama",
                    "mntDc": 500.0,
                    "username": "admin"
                }
            ],
            "username": "user2"
        }
    ],
    "username": "user1"
}

角度方法:

    this.usrerArbre.getArbre().subscribe(data=>{
      console.log('data'+data);
      this.arbreUSer=data;;
    },error1 => {
      console.log(error1)
    })
  }```
4

3 回答 3

0

尝试这个,

this.usrerArbre.getArbre().subscribe(data=>{
      console.log('data'+data);
      this.arbreUSer=data.childs;
    },error1 => {
      console.log(error1)
    })
  }

.html

<div *ngFor="let data of arbreUSer">
<p>{{data.firstName}}</p>
<p>{{data.lastName}}</p>
<p>{{data.mntDc}}</p>
<p>{{data.userName}}</p>
</div>
于 2019-09-24T07:58:31.183 回答
0

我不明白您要迭代哪个键。如果要迭代childs密钥,则可以像这样迭代它:

(data.childs||[]).forEach((item, index) {
  console.log(item, index);
});

但是,如果您想迭代整个对象,则可以从以下位置获取其键:

let keys = Object.keys(data);
(keys||[]).forEach(function(item, index) {
    console.log(data[item], index); // You will get the each object key value here
});
于 2019-09-24T07:54:26.260 回答
0

这是一个简短的解决方案:

var result = Object.entries(data).map(([key, value]) => ({key,value}));
//console.log(result);
于 2019-09-24T08:12:31.487 回答