如何将Map/HashMap转为Object对象?

使用object的数据结构自定义http请求的header,但是不支持使用字符串作为object的key;

改为Map对象可以解决key为字符串的问题,但是最终发送请求的时候需要把map转为object;

但是ArkTS不支持调用Object.fromEntries() 把map转为object。

HarmonyOS
2024-05-23 22:15:04
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
nn_wzy

根因:ArkTS限制Object标准库中fromEntries方法使用。

方案一:接口封装在ts文件里作为一个工具类,在ets里使用

// ObjectUtil.ts 
export class ObjectUtil { 
  static ObjectFromEntries(source: Iterable<readonly any[]>): Object { 
    return Object.fromEntries(source) 
  } 
} 
  
// index.ets 
let dataMap = new Map<string, string>() 
  .set("key1", "value1") 
  .set("key2", "value2") 
let result = ObjectUtil.ObjectFromEntries(dataMap.entries())

方案二:转为Record对象(Object)

let dataMap = new Map<string, string>() 
  .set("key1", "value1") 
  .set("key2", "value2") 
let result:Record<string, string> = {} 
let stringValue = dataMap.entries() 
  
while (!stringValue.next().done){ 
  result[stringValue.next().value[0]] = stringValue.next().value[1] 
}
分享
微博
QQ
微信
回复
2024-05-24 22:06:04
相关问题
如何将js传的map转成c++的对象
285浏览 • 1回复 待解决
ets中如何将图片转为byte[]?
1814浏览 • 1回复 待解决
arkts侧hashmap转为native侧
447浏览 • 1回复 待解决
如何将Resource资源对象转成string类型
1378浏览 • 1回复 待解决
Router传递Object对象解读
730浏览 • 1回复 待解决
如何将ArrayBuffer转成string
645浏览 • 1回复 待解决
如何将PixelMap压缩到指定大小
492浏览 • 1回复 待解决
如何将图片PixelMap压缩到指定大小
475浏览 • 1回复 待解决
如何将背景颜色设置为透明
1023浏览 • 1回复 待解决
如何将 Checkbox 的文字放在左边 ?
9469浏览 • 1回复 待解决
如何将三方应用改为系统应用
456浏览 • 2回复 已解决
如何将像素点保存到图片文件
1080浏览 • 1回复 待解决
有谁知道如何将图片保存到相册
421浏览 • 1回复 待解决
如何将easymock的数据插入到数据库?
1056浏览 • 1回复 待解决
如何将时间戳转换为日期格式的时间
1194浏览 • 1回复 待解决
如何将Ability的UI界面设置成透明
758浏览 • 1回复 待解决
如何将app.media.app_icon,转换为PixelMap
716浏览 • 1回复 待解决
求大佬告知如何将http文件上传
516浏览 • 1回复 待解决