Hi I am developing web application using Angular 2. I am receiving JSON data using API. I am trying to segregate data. Below is my JSON data. 

```
[  
   {  
      "userid":"f8b7b393-b36d-412b-82f7-9500e9eb6924",
      "tenantid":"7a4a4ea9-3b39-4ef6-8d00-fcfe7454888c",
      "username":"testuser3",
      "emailaddress":"testuser3@rkdssravioutlook.onmicrosoft.com",
      "isallowed":false,
      "userroles":[  
         {  
            "userroleid":"c4c64675-ffe0-467b-87a4-00b899e0d48e",
            "userid":"f8b7b393-b36d-412b-82f7-9500e9eb6924",
            "roleid":"ada09fb2-fa83-4e46-8878-7e4e48c73111",
            "tenantappid":1,
            "validfrom":"2018-01-24T00:00:00",
            "validto":"2018-01-24T00:00:00",
            "isactive":true,
            "isdeleted":false,
            "role":{  
               "roleid":"ada09fb2-fa83-4e46-8878-7e4e48c73111",
               "rolename":"Installer",
               "tenantid":"99999999-9999-9999-9999-999999999999",
               "isactive":true,
               "isdeleted":false,
               "actionnames":null,
               "scopeids":null,
               "scopes":null,
               "actionids":null,
               "actions":null
            }
         },
         {  
            "userroleid":"bf632c7b-7540-479e-b8ec-b1471efd7f93",
            "userid":"f8b7b393-b36d-412b-82f7-9500e9eb6924",
            "roleid":"80dc8c6a-a934-4c2e-9d17-7cdd5b774fc6",
            "tenantappid":1,
            "validfrom":"2018-01-24T00:00:00",
            "validto":"2018-01-24T00:00:00",
            "isactive":true,
            "isdeleted":false,
            "role":{  
               "roleid":"80dc8c6a-a934-4c2e-9d17-7cdd5b774fc6",
               "rolename":"Operator",
               "tenantid":"99999999-9999-9999-9999-999999999999",
               "isactive":true,
               "isdeleted":false,
               "actionnames":null,
               "scopeids":null,
               "scopes":null,
               "actionids":null,
               "actions":null
            }
         }
      ]
   },
   {  
      "userid":"8363def7-7547-425c-8d55-2116dd703cfc",
      "tenantid":"7a4a4ea9-3b39-4ef6-8d00-fcfe7454888c",
      "username":"testuser1",
      "emailaddress":"testuser1@rkdssravioutlook.onmicrosoft.com",
      "isallowed":false,
      "userroles":[  
         {  
            "userroleid":"fe2b1f9f-4cd8-48dc-9708-2637e9743c1d",
            "userid":"8363def7-7547-425c-8d55-2116dd703cfc",
            "roleid":"ada09fb2-fa83-4e46-8878-7e4e48c73111",
            "tenantappid":1,
            "validfrom":"2018-01-24T00:00:00",
            "validto":"2018-01-24T00:00:00",
            "isactive":true,
            "isdeleted":false,
            "role":{  
               "roleid":"ada09fb2-fa83-4e46-8878-7e4e48c73111",
               "rolename":"Installer",
               "tenantid":"99999999-9999-9999-9999-999999999999",
               "isactive":true,
               "isdeleted":false,
               "actionnames":null,
               "scopeids":null,
               "scopes":null,
               "actionids":null,
               "actions":null
            }
         }
      ]
   },
   {  
      "userid":"7f359233-5940-4b93-8ec9-fcf39e2fb58f",
      "tenantid":"7a4a4ea9-3b39-4ef6-8d00-fcfe7454888c",
      "username":"testuser2",
      "emailaddress":"testuser2@rkdssravioutlook.onmicrosoft.com",
      "isallowed":false,
      "userroles":[  
         {  
            "userroleid":"c479b1c0-5275-40b2-893e-fc82dc55f1a5",
            "userid":"7f359233-5940-4b93-8ec9-fcf39e2fb58f",
            "roleid":"4dd2803b-e723-4356-8381-7c514ba13247",
            "tenantappid":1,
            "validfrom":"2018-01-24T00:00:00",
            "validto":"2018-01-24T00:00:00",
            "isactive":true,
            "isdeleted":false,
            "role":{  
               "roleid":"4dd2803b-e723-4356-8381-7c514ba13247",
               "rolename":"Engineer",
               "tenantid":"99999999-9999-9999-9999-999999999999",
               "isactive":true,
               "isdeleted":false,
               "actionnames":null,
               "scopeids":null,
               "scopes":null,
               "actionids":null,
               "actions":null
            }
         }
      ]
   }
] 

```

Below are my corresponding models.

```
export class UserModel {
 public userid: string;
    public tenantid: string;
    public isallowed: boolean;
    public emailaddress: string;
    public upn: string;
    public userroles: UserRole[];
    public roleid: string;
    public isactive: boolean;
    public tenantappid: string;
    public username: string;
    public userrolestext: string;
    public validfrom: string;
    public validto: string;
}

```

Below is role model

```
export class UserRole {
 public userid: string;
 public roleid: string;
 public role: Role;
}

```

Below is the sample data i am trying to get

```
[
{
"userid":"f8b7b393-b36d-412b-82f7-9500e9eb6924",
"tenantid":"7a4a4ea9-3b39-4ef6-8d00-fcfe7454888c",
"rolename":"Installer",
"rolename":"Operator",
},
{
//rest of the data
}
]

```

First array of above object contains userid and below it contains again array of userroles. So i am trying to get each rolename associated with userid in a single row. 

Below code i tried.

```
 users.forEach(eachObj => {
                eachObj.userroles.forEach(nestedeachObj => {

                });
            });

```

I am not able to go forward in the above foreach loop. Can someone help me to segregate above data? Any help would be appreciated. Thank you.