如何将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
按赞同
/
按时间
路易不知第几世

根因: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
相关问题
如何将JSON字符串转为Map
235浏览 • 1回复 待解决
如何将js传的map转成c++的对象
608浏览 • 1回复 待解决
ets中如何将图片转为byte[]?
3117浏览 • 1回复 待解决
如何将对象转为JSON字符串?
438浏览 • 1回复 待解决
如何将字符串转为Uint8Array?
588浏览 • 1回复 待解决
如何将Resource资源对象转成string类型
2980浏览 • 1回复 待解决
arkts侧hashmap转为native侧
872浏览 • 1回复 待解决
HarmonyOS Record HashMap map类型选择
730浏览 • 2回复 待解决
如何将JSON字符串转Class对象
349浏览 • 1回复 待解决
如何将JSON字符串转Class对象数组?
373浏览 • 1回复 待解决
Router传递Object对象解读
1286浏览 • 1回复 待解决
如何将ArrayBuffer转成string?
482浏览 • 1回复 待解决