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

自定义websocket返回值结构为

export class SocketResult<T> {
  type: string = '';
  sid?: string = '';
  identifier: T | undefined;  //object
  message: T | undefined;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

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

{
  type:'confirm',
  identifier:{...}
}
  • 1.
  • 2.
  • 3.
  • 4.

结构呢

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

HarmonyOS
2024-12-24 17:09:10
832浏览
收藏 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('解析失败');
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.

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

分享
微博
QQ
微信
回复
2024-12-24 20:40:13


相关问题
HarmonyOS TextPickerDialog返回值问题
1042浏览 • 1回复 待解决
HarmonyOS onBackPress返回值问题
747浏览 • 1回复 待解决
HarmonyOS Promise函数返回值问题
1117浏览 • 1回复 待解决
HarmonyOS如何获取对象所有的value
2356浏览 • 1回复 待解决
HarmonyOS router.back()如何获取返回值
1195浏览 • 1回复 待解决
求助:关于HTTP返回值问题
3684浏览 • 1回复 待解决
错误rowCount返回值-1如何处理?
2158浏览 • 1回复 待解决
event.data.isRequestGesture()返回值问题
1679浏览 • 1回复 待解决
HarmonyOS crypto-js加密没有返回值
866浏览 • 1回复 待解决
HarmonyOS 使用电池状态返回值问题
1297浏览 • 1回复 待解决
HarmonyOS 获取副卡服务商无返回值
807浏览 • 1回复 待解决