HarmonyOS websocket拿到的返回值value如何便捷解析为嵌套对象

自定义websocket返回值结构为

export class SocketResult<T> {
  type: string = '';
  sid?: string = '';
  identifier: T | undefined;  //object
  message: T | undefined;
}

socket 返回值字符串value,如何将value解析为

{
  type:'confirm',
  identifier:{...}
}

结构呢

identifier的值也必须用class声明,将属性都列举出来吗

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

identifier的值具体类型也需要定义出来,可参考以下demo:

export class SocketResult<T> {
  type: string = '';
  sid?: string = '';
  identifier: T | undefined;
  message: T | undefined;
}

// 示例返回值字符串
const value = '{"type":"confirm","identifier":{"key":"value"},"message":{}}';

// 定义具体的 identifier 类型
interface IdentifierType {
  key: string;
}

// 解析返回值字符串并转换为指定结构
const parsedValue = JSON.parse(value) as SocketResult<IdentifierType>;

// 检查并处理解析后的结果
if (parsedValue.type === 'confirm' && parsedValue.identifier) {
  console.log('解析成功', parsedValue.identifier);
} else {
  console.log('解析失败');
}

或者可以参考三方库class-transformer实现,参考文档: https://gitee.com/openharmony-tpc/openharmony_tpc_samples/tree/master/class-transformer

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS TextPickerDialog返回值问题
339浏览 • 1回复 待解决
HarmonyOS如何获取对象所有的value
1268浏览 • 1回复 待解决
HarmonyOS router.back()如何获取返回值
25浏览 • 1回复 待解决
求助:关于HTTP返回值问题
2828浏览 • 1回复 待解决
错误rowCount返回值-1如何处理?
1254浏览 • 1回复 待解决
HarmonyOS 使用电池状态返回值问题
427浏览 • 1回复 待解决
HarmonyOS crypto-js加密没有返回值
11浏览 • 1回复 待解决
event.data.isRequestGesture()返回值问题
860浏览 • 1回复 待解决
HarmonyOS 获取副卡服务商无返回值
30浏览 • 1回复 待解决
鸿蒙 | Jar包中解析xml文件
7470浏览 • 1回复 待解决