HarmonyOS 动态数据如何构建Model并解析?

假设有如下数据 :

{
  "id": "xxxx",
  "name": "祝一",
  "avatar": {
    "path": "xxxx",
    "showName": "祝一"
},
  "imCid": "xxxx",
  "pinyin": "zhuyi",
  "logogram": "zy",
  "department": "Cs团队",
  "status": "normal",
  "hrmAvatarInfos": {
    "id": "xxx",
    "p1": "xxxx",
    "p2": "xxxx",
    "p3": "xxx",
    "p4": "xxx",
    "p5": "xxx",
    "url": "/api/file/preview?type=redirect&fileId=xxxz",
    "downloadUrl": "/api/file/preview?type=redirect&fileId=xxxx",
    "appDownloadUrl": "/api/app/file/preview?type=redirect&fileId=xxxx",
    "previewUrl": "/api/file/preview?type=redirect&fileId=xxxxx",
    "appPreviewUrl": "/api/app/file/preview?type=redirect&fileId=xxxx",
    "previewPath": "/api/file/preview?type=redirect&fileId=",
    "appPreviewPath": "/api/app/file/preview?type=redirect&fileId=",
    "name": "祝一",
    "userId": "xxxx"
},
  "send": 1,
  "tenantKey": "xxxxx",
  "addFriend": 0,
  "departmentId": "xxx",
  "extendMap": {}
}

其中hrmAvatarInfos可能包含任意kv,如何构建Model,并解析改json?

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

这边也可以试试map,可以参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/nonlinear-container-V5

map转json可以通过遍历和递归的方式,逐层解析,可以参考一下:

function mapToString(map: Map<string, string | object>): string {
  if (map.size === 0) {
    return '';
  }
  let obj: object = new Object;
  map.forEach((value, key) => {
    if (value instanceof Map) {
      obj[key] = mapToString(value);
    }else {
      obj[key] = value;
    }
  })
  return JSON.stringify(obj);
}
分享
微博
QQ
微信
回复
22h前
相关问题
HarmonyOS 如何构建动态库的单例?
394浏览 • 1回复 待解决
HarmonyOS 数据解析
37浏览 • 1回复 待解决
HarmonyOS JSON数据解析问题
7浏览 • 0回复 待解决
如何对JSON数据进行解析优化
800浏览 • 1回复 待解决
JS 获取控件位置动态赋值的问题
4045浏览 • 1回复 待解决
如何构建数据库ORM增删改查基础能力
1777浏览 • 1回复 待解决
HarmonyOS ArkTS和h5的数据解析
35浏览 • 1回复 待解决
HarmonyOS 关于json转model的处理
37浏览 • 1回复 待解决