将json数据转换为component.ts中的对象

Jij*_*bin 0 angular angular5 angular6 angular6-json-schema-form

我有json数据,我想将其转换为对象格式以进行创建操作.

JSON

[
{
    "user": {
        "id": 83,
        "username": "das",
        "first_name": "dsafha",
        "last_name": "dfksdfk",
        "email": "sasda@gmail.com",
        "is_active": true,
        "is_superuser": false
    },
    "role": "testBu"
},
{
    "user": {
        "id": 84,
        "username": "sadfds",
        "first_name": "dshhgds",
        "last_name": "fsdjsl",
        "email": "fdjgd@gmail.com",
        "is_active": true,
        "is_superuser": false
    },
    "role": "testeditrole"
},
{
    "user": {
        "id": 86,
        "username": "fs",
        "first_name": "efhks",
        "last_name": "sofdh",
        "email": "fdshk@gmail.com",
        "is_active": true,
        "is_superuser": false
    },
    "role": "testeditrole"
},
{
    "user": {
        "id": 87,
        "username": "xz",
        "first_name": "vj",
        "last_name": "vkfd",
        "email": "sdsl@gmail.com",
        "is_active": true,
        "is_superuser": false
    },
    "role": "testeditrole"
}
]
Run Code Online (Sandbox Code Playgroud)

我试着这样做

componet.ts

let user:any = {};
   user["username"] = this.user.user.email
   user["first_name"] = this.user.user.first_name
   user["last_name"]= this.user.user.last_name
   user["email"]= this.user.user.email

   this.userData["user"] = user
   this.userData["role"] = this.user.role
Run Code Online (Sandbox Code Playgroud)

在将数据输入输入字段后进行安慰时,我没有获得角色数据.我确实得到了其他数据.角色数据显示为空.我确实认为这是因为我在componet.ts中编写了导致问题的代码.

Viz*_*ler 5

您始终可以创建模型:

export class User {
  id: string,
  username: string,
  first_name: string,
  last_name: string,
  email: string,
  is_active: boolean,
  is_superuser: boolean
}

export class UserDetails{
  user:User;
  role:string;
}
Run Code Online (Sandbox Code Playgroud)

然后

// Assume you have received the json in string form in 'resultlist' variable
let dataList = <Array<UserDetails>>JSON.parse(resultlist);
Run Code Online (Sandbox Code Playgroud)

要么

// Assume you have received the json in object form in 'resultlist' variable
let dataList = <Array<UserDetails>>resultlist;
Run Code Online (Sandbox Code Playgroud)

快乐的编码!!!