鸿蒙解决JSON字段名和对象属性名之间的对应关系

HarmonyOS 中使用三方包 class-transformer 来进行解决。

class-transformer 是一个在 JavaScript 和 TypeScript 中用于对象和类之间进行转换的库。它特别有用在处理从 API 返回的 JSON 数据和将其转换为类的实例时,或者在序列化类的实例为 JSON 字符串时。

class-transformer 提供了几个主要的方法来处理对象和类之间的转换:

  • plainToClass: 将普通 JavaScript 对象转换为类的实例。

  • instanceToPlain: 将类的实例转换回普通 JavaScript 对象。

  1. 下载class-transform

ohpm install class-transformer
  1. 导入包

import { classToPlain, Expose, plainToClass } from 'class-transformer';
  1. 编写代码,定义类

class MyClass {
  @Expose({ name: 'auth-type' })
  authType: number = 1;
}
  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);