HarmonyOS 鸿蒙Next 如何将后端返回的字符串直接转化为json对象,如json对象,不再定义很多的实体来接收
HarmonyOS 鸿蒙Next 如何将后端返回的字符串直接转化为json对象,如json对象,不再定义很多的实体来接收
如何将后端返回的字符串直接转化为json对象,如json对象,不再定义很多的实体来接收
2 回复
1.封装工具类:
import { ClassConstructor, instanceToPlain, plainToClass } from 'class-transformer';
import { BusinessError } from '@kit.BasicServicesKit';
static jsonToBean<T>(cls: ClassConstructor<T>, jsonStr: string): T | null {
try {
return plainToClass(cls, JSON.parse(jsonStr), { enableImplicitConversion: false, exposeDefaultValues: true }) as T
} catch (err) {
let error = err as BusinessError;
LogUtil.error(`JSONUtil-jsonToBean-异常 ~ code: ${error.code} -·- message: ${error.message}`);
return null
}
}
2:使用三方库 reflect-metadata 和 class-transformer
let jsonstr: string = ‘{“version”: “1.0.0”, “status”: 0}’
let js: string = JSON.parse(jsonstr)
let t: Test = plainToClass(Test, js)
class-transformer地址:https://gitee.com/openharmony-tpc/openharmony_tpc_samples/tree/master/class-transformer 本库提供对象和类之间基于修饰符的转换、序列化和反序列化的能力
reflect-metadata 地址:https://gitee.com/openharmony-tpc/openharmony_tpc_samples/tree/master/reflect-metadata 用于在TypeScript中操作类的元数据,允许在声明类和属性时添加和读取元数据。
更多关于HarmonyOS 鸿蒙Next 如何将后端返回的字符串直接转化为json对象,如json对象,不再定义很多的实体来接收的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html