HarmonyOS ArkTS类型转换问题

目前在ArkTS上无类似数据类型 采用map/hashmap 来代替。

问题1:如果采用 map/hashmap来存数据,目前通过

let hashMap:HashMap<string,Object> = new HashMap(); 
hashMap.set("tac_host",host); 
hashMap.set("tac_port",port); 
let strval:string = JSON.stringify(hashMap)
  • 1.
  • 2.
  • 3.
  • 4.

导致转换成的string数据为空。

问题2:使用TS 原始的方法。

let hashMap:HashMap<string,Object> = new HashMap(); 
hashMap.set("tac_host",host); 
hashMap.set("tac_port",port); 
let strval:string = JSON.stringify(Object.fromEntries(hashMap));
  • 1.
  • 2.
  • 3.
  • 4.

则提示Object.fromEntries 此方法无法使用。

问题3:ArkTS是否有Java端测Properties的这种类型?

HarmonyOS
2024-08-27 11:48:17
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
put_get

JSON.stringify()不能序列化Map对象,如果需要将Map对象序列化为JSON字符串,可以先将Map对象使用Array.from()转换为数组,然后再使用JSON.stringify()序列化数组。

Obejct.fromEntries是禁用的,替代写法参考:

const map = new Map([ 
  ['name', 'jack'], 
  ['age', '18'], 
  ['address', 'xian'], 
]); 
let obj: Record<string, Object> = {} 
map.forEach((value, key) => { 
  if (key != undefined && value != undefined) { 
    obj[key] = value; 
  } 
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

ArkTS 没有 Java 端测 Properties 的 这种类型。

分享
微博
QQ
微信
回复
2024-08-27 17:58:21
相关问题
HarmonyOS 两个枚举类型之间转换问题
943浏览 • 1回复 待解决
HarmonyOS getParamByName结果的类型转换
776浏览 • 1回复 待解决
HarmonyOS Resource怎么进行转换类型
1412浏览 • 1回复 待解决
HarmonyOS 进制转换问题
773浏览 • 0回复 待解决
HarmonyOS 数据转换问题
608浏览 • 1回复 待解决
HarmonyOS 时间格式转换问题
968浏览 • 1回复 待解决
HarmonyOS 数据强制转换问题
695浏览 • 1回复 待解决
HarmonyOS Long类型和number的相互转换
893浏览 • 1回复 待解决
Map类型怎么转换成Json string
3124浏览 • 1回复 待解决
HarmonyOS json转换模型问题
834浏览 • 1回复 待解决
HarmonyOS ArkTS如何判断Object类型
1154浏览 • 1回复 待解决
HarmonyOS ArkTS的泛型类型判断
894浏览 • 1回复 待解决
HarmonyOS ArkTS中关于类型的定义
629浏览 • 1回复 待解决
HarmonyOS网络请求后JSON转换问题
2085浏览 • 1回复 待解决
HarmonyOS px 转 vp 单位转换问题
715浏览 • 1回复 待解决