HarmonyOS 中使用三方包 class-transformer
来进行解决。
class-transformer
是一个在 JavaScript 和 TypeScript 中用于对象和类之间进行转换的库。它特别有用在处理从 API 返回的 JSON 数据和将其转换为类的实例时,或者在序列化类的实例为 JSON 字符串时。
class-transformer 提供了几个主要的方法来处理对象和类之间的转换:
-
plainToClass: 将普通 JavaScript 对象转换为类的实例。
-
instanceToPlain: 将类的实例转换回普通 JavaScript 对象。
-
下载class-transform
ohpm install class-transformer
-
导入包
import { classToPlain, Expose, plainToClass } from 'class-transformer';
-
编写代码,定义类
class MyClass {@Expose({ name: 'auth-type' })authType: number = 1;
}
-
测试代码
let myClass: MyClass = new MyClass();
myClass.authType = 1;let serializedData = instanceToPlain(myClass);
let jsonStr: string = JSON.stringify(serializedData)
console.log(jsonStr);let myClass1: MyClass = JSON.parse(jsonStr)
let myDataObject = plainToClass(MyClass, myClass1);
console.log("authType is " + myDataObject.authType);