angular - 将 json 数据转换为 component.ts 中的对象
问题描述
我有 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"
}
]
我试着这样做
组件.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
在将数据输入输入字段后进行安慰时,我没有得到角色数据。我确实得到了其他数据。角色数据显示为空。我确实认为这是因为我在 componet.ts 中编写代码的方式导致了问题。
解决方案
您始终可以创建模型:
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;
}
然后:
// Assume you have received the json in string form in
'resultlist' variable
let dataList = <Array<UserDetails>>JSON.parse(resultlist);
或者:
// Assume you have received the json in object form in 'resultlist' variable
let dataList = <Array<UserDetails>>resultlist;
推荐阅读
- javascript - How to set value of an immutable state in Javascript?
- c# - 水晶报表和数据集
- scala - 如何在运行 sbt 命令 Scala 后创建可以运行的新命令
- continuous-integration - 在 VSTS 发布管理中替换 WCF 终结点地址
- java - 子节点上的事件处理程序
- python - 无法显示散景工具栏
- windows - Windows App Store 包航班未发送到组
- c - C 程序在调试模式下工作而不在发布模式下工作
- python - 在花括号周围的字符串中添加单引号 - Python
- node.js - 将第二个模式添加到数据库时,一旦编译就无法覆盖“用户”模型。