HarmonyOS鸿蒙NEXT中实现json数据转换功能示例代码

HarmonyOS鸿蒙NEXT中实现json数据转换功能示例代码

介绍

本示例基于JSON转换能力,实现类似增删改查,将JSON对象转换为字符串,JSON字符串和Map的互转等功能。

实现json数据转换功能源码链接

效果预览

图片名称

实现思路

实现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之间的相互转换:

  1. JSON转Map:
  • 使用JSON.parse()解析JSON字符串
  • 通过Object.entries()将对象转为键值对数组
  • 用该数组初始化Map对象
  1. Map转JSON:
  • 遍历Map对象构建普通对象
  • 使用JSON.stringify()将对象转为JSON字符串

关键点:

  • 类型安全:使用了Record<string, Object>类型声明
  • 空值检查:转换时检查key/value是否为undefined
  • 日志输出:使用hilog.info打印转换结果

这种转换方式在HarmonyOS NEXT中性能良好,适合处理配置数据、网络请求响应等场景。开发者可以根据实际需求扩展功能,比如添加错误处理、嵌套对象支持等。

回到顶部