HarmonyOS 如何将后端返回的字符串直接转化为json对象

如何将后端返回的字符串直接转化为json对象,如json对象,不再定义很多的实体来接收

HarmonyOS
2024-12-23 16:22:38
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
shlp

可以尝试使用以下方案:

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
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

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)
  • 1.
  • 2.
  • 3.

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中操作类的元数据,允许在声明类和属性时添加和读取元数据。

分享
微博
QQ
微信
回复
2024-12-23 18:27:51
相关问题
如何将JSON字符串转Class对象
1132浏览 • 1回复 待解决
HarmonyOS 如何将HashMap转化json字符串
877浏览 • 1回复 待解决
如何将JSON字符串转Class对象数组?
1255浏览 • 1回复 待解决
如何将对象转为JSON字符串
1335浏览 • 1回复 待解决
如何将JSON字符串转为Map
997浏览 • 1回复 待解决
如何打印JSON对象JSON字符串
1234浏览 • 1回复 待解决
如何将文件转换成字符串
1108浏览 • 1回复 待解决
HarmonyOS 如何将任意UI组件转化为图片
823浏览 • 1回复 待解决
HarmonyOS 如何将md5变成字符串
983浏览 • 1回复 待解决
如何将字符串转为Uint8Array?
1839浏览 • 1回复 待解决
如何将Uint8Array转字符串
1446浏览 • 1回复 待解决
如何将字符串转换为浮点数。
1419浏览 • 1回复 待解决
如何将一张图片转化为PixelMapElement
11047浏览 • 1回复 待解决