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


在HarmonyOS鸿蒙Next系统中,将后端返回的字符串直接转化为JSON对象,可以使用内置的JSON解析库。具体步骤如下:

  1. 引入JSON库:确保项目中已经包含了JSON相关的库,HarmonyOS SDK通常自带JSON处理功能,无需额外添加依赖。

  2. 使用JSON解析方法:使用JsonUtil类提供的静态方法fromJson,该方法可以将JSON字符串转换为指定的Java对象。如果你不想定义很多实体类,可以直接将JSON字符串转换为JsonObjectJsonArray

  3. 示例代码

    String jsonString = "{\"key\":\"value\"}"; // 后端返回的JSON字符串
    JsonObject jsonObject = JsonUtil.fromJson(jsonString, JsonObject.class);
    String value = jsonObject.getString("key");
    

    上述代码将JSON字符串解析为JsonObject,然后从中提取数据。

这种方法避免了为每一个JSON结构定义实体类的繁琐,提高了代码的灵活性和可维护性。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部