以角度获取JSONFile响应

时间:2019-09-24 07:49:51

标签: json angular

我有一个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)
    })
  }```

3 个答案:

答案 0 :(得分:0)

我不知道您要迭代哪个键。如果要迭代Rebuild Project键,则可以这样迭代:

childs

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

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

答案 1 :(得分: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>

答案 2 :(得分:0)

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

var result = Object.entries(data).map(([key, value]) => ({key,value}));
//console.log(result);