HarmonyOS 关于JSON转Class之后方法丢失问题?

JSON和Class的互转,在网络通讯中是非常常见的,而ArkTS这种语言在转class之后出现了方法找不到的问题。

阅读 580
1 个回答

目前暂不支持,因为开启了严格的ARKTS语言检查,所以使用的data对象必须进行class类型的自定义否则无法使用。可使用class-transformer将Json字符串反序列化得到的对象转换成ArkTS中类的实例对象。

1、引入三方库。

ohpm install class-transformer
ohpm install reflect-metadata

2、代码:

import { Type, plainToClass } from 'class-transformer'
import "reflect-metadata"

const jsonString = '{"name": "John", "age": 30, "city": "New York"}';

class User {
  name: string = '';
  age: number = 0;
  city: string = '';

  getName() {
    return this.name
  }
}

const jsonObject: Object = JSON.parse(jsonString);
let instance = plainToClass(User, jsonObject)
console.log(instance.getName())