【鸿蒙实战开发】基于class-transformer的对象与JSON相互转换

场景一:方法将普通javascript对象转换为特定类的实例

解决方案

首先我们先定义一个想要指定的特定的类如下:

User里面包含属性id,fistname,lastname,age,data和它的构造方法,还有特定的方法getName和isAdult。

class User { 
  id: number; 
  firstName: string; 
  lastName: string; 
  age: number; 
  date?: Date; 

  constructor() { 
    this.id = 0; 
    this.firstName = ""; 
    this.lastName = ""; 
    this.age = 0; 
  } 

  getName() { 
    return this.firstName + ' ' + this.lastName; 
  } 

  isAdult() { 
    return this.age > 18 && this.age < 60; 
  } 
}

我们在前端处理后端传送过来的数据时,经过反序列化转换的对象全是plain(literal) object(普通(字面量)对象),如下,这里我们手动写一个待转换成特定对象的 JavaScript对象(JSON形式)。

interface UserJson { 
  id: number, 
  firstName: string, 
  lastName: string, 
  age: number, 
  date?: Date 
} 

const userJson:UserJson = { 
  id: 1, 
  firstName: "Johny", 
  lastName: "Cage", 
  age: 27, 
  date: new Date() 
}

使用class-transform可以直接将收

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值