HarmonyOS 鸿蒙Next “仿微信聊天”App开发技术分享(十)封装和解析JSON串

HarmonyOS 鸿蒙Next “仿微信聊天”App开发技术分享(十)封装和解析JSON串 下一节我们利用三方库SocketIO实现了在设备间收发文本消息,那么对于更复杂的消息包,就不仅是简单的一串文本,而是采用JSON格式封装的字符串。鉴于JSON格式是很常见的数据格式,这里就不再啰嗦了,如果是纯新手不了解JSON格式的话,建议参考《Android Studio开发实战:从零基础到App上线(第3版)》一书的“13.2.1 移动数据格式JSON”。

在安卓系统中,需要引入第三方的Gson库才能解析JSON串;而鸿蒙系统自带了JSON库,无需集成其他的第三方库。在ETS代码开头添加下面的导包语句,即可引入鸿蒙自身的JSON库。

import { JSON } from '@kit.ArkTS'

在实际开发过程中,发现即使不添加上面的导包语句,ETS代码也能正常调用JSON库的相关方法。推测是因为JSON库很常用,所以App默认自动加载JSON库,从而无需开发者手工导入该库。

鸿蒙自带的JSON库主要提供了stringifyparse两个方法,其中stringify方法用于把指定的数据对象转换为JSON字符串,而parse方法用于将JSON字符串转换为执行类型的数据对象。下面详细介绍如何在实际业务中使用JSON库。

1、自定义一个数据结构

首先自己定义一个数据结构,比如下面定义的UserInfo结构,用来存放用户信息。

export class UserInfo {
  id: number
  name: string
  age: number
  stature: number
  weight: number
  ismarried: boolean
  update_time: string
}

2、把构造好的数据对象转换为JSON字符串

先通过new创建UserInfo类型的数据对象,再调用JSON.stringify方法,把该对象转换为JSON格式的字符串。比如下面的属性初始化代码:

private user: UserInfo = new UserInfo('阿三', 40, 170, 70, false)
private jsonStr: string = JSON.stringify(this.user)

当然,也可根据需要在业务代码中随时把数据对象转为JSON字符串,比如下面的对象格式化代码:

this.jsonStr = JSON.stringify(this.user)
this.data = 'JSON串内容如下:\n' + this.jsonStr

3、把JSON字符串转换为指定类型的数据对象

拿到一个JSON格式的字符串以后,就能调用JSON.parse把该串解析为JSON格式,并添加后缀“as UserInfo”,表示把解析结果转换为UserInfo类型的数据对象。比如下面的解析代码把JSON串解析为UserInfo对象:

this.user = JSON.parse(this.jsonStr) as UserInfo
this.data = '从JSON串解析而来的用户信息如下:\n\t姓名=' + this.user.name + '\n\t年龄=' + this.user.age + '\n\t身高=' + this.user.stature + '\n\t体重=' + this.user.weight + '\n\t婚否=' + this.user.ismarried

综合上述的封装和解析代码,在鸿蒙真机上运行测试App,一开始点击原始按钮,把用户对象转成JSON串的效果如下图所示。

接着点击解析按钮,把JSON串转成用户对象的效果如下图所示。

下一篇文章会介绍如何从系统相册中选择待发送的图片文件。


更多关于HarmonyOS 鸿蒙Next “仿微信聊天”App开发技术分享(十)封装和解析JSON串的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next “仿微信聊天”App开发技术分享(十)封装和解析JSON串的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中开发“仿微信聊天”App时,封装和解析JSON串是常见的需求,用于数据交换和存储。以下是如何在鸿蒙系统中处理这一任务的简述:

  1. 封装JSON串: 使用鸿蒙提供的JSON库,可以将数据结构(如用户信息、聊天记录等)封装成JSON格式。通常,鸿蒙系统会提供类似JsonObjectJsonArray的类,允许你通过键值对或数组形式构建JSON。例如,创建一个JsonObject对象后,可以调用put方法添加字段,最后使用toJsonString方法生成JSON字符串。

  2. 解析JSON串: 解析JSON串的过程是封装的逆操作。首先,通过JsonParser类或其他解析工具将JSON字符串解析为JsonObjectJsonArray对象。然后,可以使用get方法根据键名获取对应的值,或者遍历数组获取所有元素。鸿蒙系统通常会提供类型安全的方法来获取值,避免类型转换错误。

在处理JSON时,注意异常处理,确保JSON格式正确,避免解析错误导致的程序崩溃。

如果问题依旧没法解决请联系官网客服, 官网地址是 https://www.itying.com/category-93-b0.html

回到顶部