HarmonyOS鸿蒙NEXT中实现json数据转换功能示例代码
HarmonyOS鸿蒙NEXT中实现json数据转换功能示例代码
介绍
本示例基于JSON转换能力,实现类似增删改查,将JSON对象转换为字符串,JSON字符串和Map的互转等功能。
效果预览
实现思路
实现JSON转Map、Map转JSON功能。
export function funJSONtoMap() {
// JSON转Map
let jsonData = '{"0": {"num": 1}, "1": {"num": 2} }';
let parsedData = JSON.parse(jsonData)!
//Object.entries() 方法接收一个对象作为参数,并返回一个包含键值对的数组。
new Map(Object.entries(parsedData));
// 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);
hilog.info(0x0000, 'Index', info); //输出 {"name":"张三","age":"18","address":"xian"}
}
更多关于HarmonyOS鸿蒙NEXT中实现json数据转换功能示例代码的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
在HarmonyOS NEXT中,使用ArkTS实现JSON数据转换可调用JSON.parse()
和JSON.stringify()
。示例代码如下:
// JSON字符串转对象
let jsonStr = '{"name":"HarmonyOS","version":4}';
let obj = JSON.parse(jsonStr); // 输出:{name:"HarmonyOS", version:4}
// 对象转JSON字符串
let data = {id: 1, enabled: true};
let jsonData = JSON.stringify(data); // 输出:'{"id":1,"enabled":true}'
注意:JSON键需用双引号包裹,ArkTS不支持undefined类型转换。
更多关于HarmonyOS鸿蒙NEXT中实现json数据转换功能示例代码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS NEXT中实现JSON数据转换非常方便。示例代码展示了JSON与Map之间的相互转换:
- JSON转Map:
- 使用JSON.parse()解析JSON字符串
- 通过Object.entries()将对象转为键值对数组
- 用该数组初始化Map对象
- Map转JSON:
- 遍历Map对象构建普通对象
- 使用JSON.stringify()将对象转为JSON字符串
关键点:
- 类型安全:使用了Record<string, Object>类型声明
- 空值检查:转换时检查key/value是否为undefined
- 日志输出:使用hilog.info打印转换结果
这种转换方式在HarmonyOS NEXT中性能良好,适合处理配置数据、网络请求响应等场景。开发者可以根据实际需求扩展功能,比如添加错误处理、嵌套对象支持等。