HarmonyOS 在ArkTS中,想要将JSON 转为Class后,Class 中的function 方法丢失了

HarmonyOS 在ArkTS中,想要将JSON 转为Class后,Class 中的function 方法丢失了。

HarmonyOS
2024-11-25 11:41:06
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

语法问题,JSON.parse() 方法返回的是一个普通对象,而不是 DataBean 类的实例。不包含类定义的任何方法。需要在将 JSON 数据转换为 DataBean 实例时,手动创建类的实例,并将 JSON 对象的属性赋值给类的实例。参考:

class DataBean { 
  code = -1; 
  msg = ''; 
 
  isOK() { 
    return this.code === 0; 
  } 
 
  // 静态方法,从 JSON 字符串创建 DataBean 实例 
  static fromJson(jsonString: string): DataBean { 
    const jsonData:ESObject = JSON.parse(jsonString); 
    const dataBean = new DataBean(); 
    dataBean.code = jsonData.code; 
    dataBean.msg = jsonData.msg; 
    return dataBean; 
  } 
} 
 
let json = '{"code":0,"msg":"success"}'; 
let dataBean = DataBean.fromJson(json); 
console.log("test",dataBean.msg); // success 
console.log("test",dataBean.isOK()); // true,
分享
微博
QQ
微信
回复
2024-11-25 15:09:59
相关问题
HarmonyOS class显示CustomDialog
197浏览 • 1回复 待解决
HarmonyOS class-transformer三方库Jsonclass
322浏览 • 1回复 待解决
NAPI定义并注册Class
1125浏览 • 1回复 待解决
ArkTSclass有析构函数吗?
600浏览 • 1回复 待解决
HarmonyOS class创建对话框不能显示
312浏览 • 1回复 待解决
class使用闭包方式初始化 默认值丢失
2177浏览 • 1回复 待解决