网站多套系统如何调用,wordpress 图片并列,做外贸家纺资料网站,好的app设计网站有哪些HarmonyOS 使用 JSON解析与生成 的好处 一、轻量级与高效性 易于阅读和编写#xff1a;JSON格式的数据易于人类阅读和编写#xff0c;降低了数据处理的复杂性。高效解析与生成#xff1a;HarmonyOS的JSON解析库提供了一系列高效的函数和类#xff0c;能够快速地将JSON字符串…HarmonyOS 使用 JSON解析与生成 的好处 一、轻量级与高效性 易于阅读和编写JSON格式的数据易于人类阅读和编写降低了数据处理的复杂性。高效解析与生成HarmonyOS的JSON解析库提供了一系列高效的函数和类能够快速地将JSON字符串转换为JSON对象或将JSON对象转换为JSON字符串从而满足高效数据处理的需求。 二、灵活的数据模型 层次化和嵌套的数据组织JSON允许数据以层次化和嵌套的方式组织这使得它能够适应各种复杂的数据结构。支持多种数据类型JSON中的值可以是字符串、数字、布尔值、数组、对象或null这种灵活性使得JSON能够表示多种类型的数据。 三、广泛的应用场景 跨平台数据交换JSON作为一种通用的数据格式可以在不同的操作系统、设备和编程语言之间进行数据交换这使得HarmonyOS能够与其他系统或设备进行无缝的数据通信。适用于多种应用无论是前端开发、移动应用开发还是物联网设备JSON都因其轻量级和易于处理的特点而被广泛应用。在HarmonyOS中JSON同样被广泛应用于数据的传递和存储。 四、强大的数据处理能力 数据访问与修改通过解析JSON对象可以方便地访问和修改其中的数据提高了数据处理的灵活性。数据验证与校验在JSON数据解析过程中可以进行数据的验证和校验确保接收到的数据符合预期的格式和规则从而提高了数据的准确性和可靠性。 五、安全性与稳定性 符合安全标准HarmonyOS的JSON解析库在设计和实现过程中遵循了相关的安全标准和规范确保了数据处理的安全性。稳定可靠经过严格的测试和验证HarmonyOS的JSON解析库具有高度的稳定性和可靠性能够满足各种复杂应用场景的需求。 本模块实现了JSON文本的解析与生成功能能够高效地将JSON格式的文本转换为相应的JavaScript对象或值同时也支持将JavaScript对象序列化为标准的JSON字符串。 JSON解析与生成
1. JSON.parse ---- 解析JSON字符串
2. JSON.stringify ---- 转换为JSON字符串
3. JSON.has ---- 是否包含
4. JSON.remove ---- 删除 1. JSON.parse parse(text: string, reviver?: Transformer, options?: ParseOptions): Object | null 用于解析JSON字符串生成对应ArkTS对象或null。 参数
参数名类型必填说明textstring是有效的JSON字符串。reviverTransformer否转换函数传入该参数可以用来修改解析生成的原始值。默认值是undefined。optionsParseOptions否解析的配置传入该参数可以用来控制解析生成的类型。默认值是undefined。
返回值
类型说明Object | null 返回ArkTS对象或null。当入参是null时返回null。 使用方式一 传入有效的JSON字符串。 let jsonText {name: John, age: 30, city: ChongQing};
let obj:object JSON.parse(jsonText);
console.info((obj as object)?.[name]); // 输出 John
输出 输出结果John 使用方式二 转换函数传入该参数可以用来修改解析生成的原始值 function reviverFunc(key, value) {if (key age) {return value 1;}return value;
}const jsonTextStr {name: John, age: 30};
let objRst:object JSON.parse(jsonTextStr, reviverFunc);
console.info((objRst as object)?.[age]); // 打印结果31 输出 输出结果31 使用方式三 解析的配置传入该参数可以用来控制解析生成的类型 let options: JSON.ParseOptions {bigIntMode: JSON.BigIntMode.PARSE_AS_BIGINT,}let numberText {largeNumber:11223344556677889911111};let numberObj JSON.parse(numberText,(key: string, value: string):Object | null {if(key largeNumber){console.info(password,value);return value;}return value;},options);console.info((numberObj as object)?.[largeNumber]);// 打印结果: 11223344556677889911111 输出 输出结果11223344556677889911111 2. JSON.stringify stringify(value: Object, replacer?: (number | string)[] | null, space?: string | number): string 该方法将一个ArkTS对象或数组转换为JSON字符串对于容器支持线性容器转换非线性的容器不支持。 参数
参数名类型必填说明valueObject是ArkTS对象或数组对于容器支持线性容器转换非线性的容器不支持。replacernumber[] | string[] | null否当参数是数组时只有包含在这个数组中的属性名才会被序列化到最终的JSON字符串中当参数为null或者未提供时则对象所有的属性都会被序列化。默认值是undefined。spacestring | number否指定缩进用的空格或字符串或空字符串用于美化输出。当参数是数字时表示有多少个空格当参数是字符串时该字符串被当作空格当参数没有提供时将没有空格。默认值是空字符串。
返回值
类型说明string转换后的JSON字符串。 使用方式一 ArkTS对象或数组对于容器支持线性容器转换非线性的容器不支持。 let arr [1, 2];
let rstArrStr JSON.stringify(exportObj, arr);
console.info(rstArrStr);
// 打印结果{1:John,2:30} 输出 输出结果{1:John,2:30} 使用方式二 当参数是数组时只有包含在这个数组中的属性名才会被序列化到最终的JSON字符串中当参数为null或者未提供时则对象所有的属性都会被序列化 interface Person {name: string;age: number;city: string;}
let inputObj {name: John, age: 30, city: ChongQing} as Person;
let rstStr JSON.stringify(inputObj, [name]);
console.info(rstStr,rstStr);
// 打印结果{name:John} 输出 输出结果{name:John} 使用方式三 指定缩进用的空格或字符串或空字符串用于美化输出。当参数是数字时表示有多少个空格当参数是字符串时该字符串被当作空格当参数没有提供时将没有空格 interface Person {name: string;age: number;city: string;}
let rstStrSpace JSON.stringify(inputObj, [name], );
console.info(rstStrSpace);
// 打印结果
/*
{name: John
}
*/let rstStrStar JSON.stringify(inputObj, [name], );
console.info(rstStrStar);
// 打印结果
/*
{
name: John
}
*/ 3. JSON.has has(obj: object, property: string): boolean 检查ArkTS对象是否包含某种属性可用于JSON.parse解析JSON字符串之后的相关操作。has接口仅支持最外层为字典形式即大括号而非中括号包围的合法json串。 参数
参数名类型必填说明objobject是ArkTS对象。propertystring是属性名。
返回值
类型说明boolean返回ArkTS对象是否包含某种属性结果true表示包含false表示不包含。
使用方式 const jsonText {name: John, age: 30, city: ChongQing};
let inputObj JSON.parse(jsonText);
let rstflag JSON.has(inputObj, name);
console.info(rstflag rstflag);
// 打印结果rstflag true 输出 输出结果rstflag true 4. JSON.remove remove(obj: object, property: string): void 从ArkTS对象中删除某种属性可用于JSON.parse解析JSON字符串之后的相关操作。remove接口仅支持最外层为字典形式即大括号而非中括号包围的合法json串。 参数
参数名类型必填说明objobject是ArkTS对象。propertystring是属性名。
使用方式 const jsonText {name: John, age: 30, city: ChongQing};
let inputObj JSON.parse(jsonText);
JSON.remove(inputObj, name);
let rstflag JSON.has(inputObj, name);
console.info(rstflag rstflag);
// 打印结果rstflag false 输出 输出结果rstflag false 还有其他问题 请参考官方文档
制作不易 点个关注再走吧°(°¯᷄◠¯᷅°)°