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库主要提供了stringify
和parse
两个方法,其中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
更多关于HarmonyOS 鸿蒙Next “仿微信聊天”App开发技术分享(十)封装和解析JSON串的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next系统中开发“仿微信聊天”App时,封装和解析JSON串是常见的需求,用于数据交换和存储。以下是如何在鸿蒙系统中处理这一任务的简述:
-
封装JSON串: 使用鸿蒙提供的JSON库,可以将数据结构(如用户信息、聊天记录等)封装成JSON格式。通常,鸿蒙系统会提供类似
JsonObject
和JsonArray
的类,允许你通过键值对或数组形式构建JSON。例如,创建一个JsonObject
对象后,可以调用put
方法添加字段,最后使用toJsonString
方法生成JSON字符串。 -
解析JSON串: 解析JSON串的过程是封装的逆操作。首先,通过
JsonParser
类或其他解析工具将JSON字符串解析为JsonObject
或JsonArray
对象。然后,可以使用get
方法根据键名获取对应的值,或者遍历数组获取所有元素。鸿蒙系统通常会提供类型安全的方法来获取值,避免类型转换错误。
在处理JSON时,注意异常处理,确保JSON格式正确,避免解析错误导致的程序崩溃。
如果问题依旧没法解决请联系官网客服, 官网地址是 https://www.itying.com/category-93-b0.html,