HarmonyOS 鸿蒙Next Map<string, Object> 这个数据类型怎么转化为 json? value的类型是string 和 Map<string, Object>
HarmonyOS 鸿蒙Next Map<string, Object> 这个数据类型怎么转化为 json? value的类型是string 和 Map<string, Object> Map<string, Object> 这个数据类型怎么转化为 json? value的类型是string 和 Map<string, Object>
当前无相关的工具类,建议自己写个Map转JSON字符串的工具类,可参考如下代码:
const map = new Map([
['name', '张三'],
['age', '18'],
['address', 'xian'],
]);
let jsonObject:Record<string,Object> = {};
map.forEach((value,key) => {
if (key != undefined && value != undefined) {
jsonObject[key] = value;
}
})
let info:string = JSON.stringify(jsonObject);
更多关于HarmonyOS 鸿蒙Next Map<string, Object> 这个数据类型怎么转化为 json? value的类型是string 和 Map<string, Object>的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
Map<string, string | Map<string, Object>> 这种类型的就会出问题,
在HarmonyOS鸿蒙Next中,将Map<string, Object>
转化为JSON可以通过JSON.stringify()
方法实现。Map<string, Object>
中的value
类型为string
和Map<string, Object>
时,JSON.stringify()
会自动处理嵌套的Map
结构。
示例代码:
let map: Map<string, Object> = new Map();
map.set("key1", "value1");
let nestedMap: Map<string, Object> = new Map();
nestedMap.set("nestedKey1", "nestedValue1");
map.set("key2", nestedMap);
let jsonString: string = JSON.stringify(Object.fromEntries(map));
Object.fromEntries(map)
将Map
转换为普通对象,然后JSON.stringify()
将其序列化为JSON字符串。
结果:
{
"key1": "value1",
"key2": {
"nestedKey1": "nestedValue1"
}
}
此方法适用于Map<string, Object>
中value
类型为string
和Map<string, Object>
的情况。
在HarmonyOS(鸿蒙)中,你可以使用JSON.stringify()
方法将Map<string, Object>
转换为JSON字符串。由于Map
类型本身不支持直接序列化,你需要先将Map
转换为普通对象。以下是示例代码:
function mapToJson(map) {
let obj = {};
map.forEach((value, key) => {
obj[key] = value;
});
return JSON.stringify(obj);
}
let myMap = new Map();
myMap.set("key1", "value1");
myMap.set("key2", new Map([["subKey", "subValue"]]));
let jsonString = mapToJson(myMap);
console.log(jsonString);
此代码将Map<string, Object>
转换为JSON字符串。