为支持将JSON字符串解析成共享数据,ArkTS语言基础库新增了ASON工具。ASON支持开发者解析JSON字符串,并生成共享数据进行跨并发域传输,同时ASON也支持将共享数据转换成JSON字符串。
ISendable
type ISendable = lang.ISendable
ISendable是所有Sendable类型(除null和undefined)的父类型。自身没有任何必须的方法和属性。
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
类型 | 说明 |
---|---|
lang.ISendable | 所有Sendable类型的父类型。 |
parse
parse(text: string): ISendable | null
用于解析JSON字符串生成ISendable数据或null。
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
text | string | 是 | 有效的JSON字符串。 |
返回值:
类型 | 说明 |
---|---|
ISendable | null | 返回ISendable数据或null。当入参是null时,返回null。 |
示例:
TypeScript
import { lang } from '@kit.ArkTS';
type ISendable = lang.ISendable;
let jsonText = '{"name": "John", "age": 30, "city": "ChongQing"}';
let obj = ArkTSUtils.ASON.parse(jsonText) as ISendable;
console.info((obj as object)?.["name"]);
// 期望输出: 'John'
console.info((obj as object)?.["age"]);
// 期望输出: 30
console.info((obj as object)?.["city"]);
// 期望输出: 'ChongQing'
stringify
stringify(value: ISendable | null | undefined): string
该方法将ISendable数据转换为JSON字符串。
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
value | ISendable | null | undefined | 是 | ISendable数据。 |
返回值:
类型 | 说明 |
---|---|
string | 转换后的JSON字符串。 |
示例:
TypeScript
import { collections } from '@kit.ArkTS';
let arr = new collections.Array(1, 2, 3);
let str = ArkTSUtils.ASON.stringify(arr);
console.info(str);
// 期望输出: '[1,2,3]'