当前位置: 首页 > news >正文

网站建设中怎么写景区网站建设

网站建设中怎么写,景区网站建设,普宁做网站,校园网络规划HarmonyOS 使用 JSON解析与生成 的好处 一、轻量级与高效性 易于阅读和编写:JSON格式的数据易于人类阅读和编写,降低了数据处理的复杂性。高效解析与生成:HarmonyOS的JSON解析库提供了一系列高效的函数和类,能够快速地将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字符串,对于容器支持线性容器转换,非线性的容器不支持。

参数:

参数名类型必填说明
valueObjectArkTS对象或数组,对于容器支持线性容器转换,非线性的容器不支持。
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串。

参数:

参数名类型必填说明
objobjectArkTS对象。
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串。

参数:

参数名类型必填说明
objobjectArkTS对象。
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

 还有其他问题 请参考官方文档

制作不易 点个关注再走吧。°(°¯᷄◠¯᷅°)°。

http://www.yayakq.cn/news/807231/

相关文章:

  • 网站设计开发公司网站建设的目标
  • 做推广哪个网站效果好信息化网站建设的请示
  • 制作小程序网站源码长沙本土网站建设公司
  • 广州大石附近做网站的公司网站建设之家
  • 营销网站类型wordpress加载缓慢
  • 郑州网站建设 .cc博客做资讯类网站
  • 写网站建设的论文网站开发的付款方式
  • 广州做网站厉害的公司百度关键词怎么排名
  • 网站木马文件删除网站建设基础教程视频
  • 长沙网站定制网站开发总体流程图
  • 宜昌市做网站的公司东莞网站建设完整
  • 网站精美排版代码建网站需要什么设计专业
  • 如何攻击网站WordPress数据多了会卡吗
  • 去掉网站侧边栏网站的建设费 账务处理
  • 建设网站的优点跟缺点如何建立一个网站 供客户选图
  • 淘特app官方网站下载凡客网登录
  • 黄页网站介绍wordpress安装模板
  • 江苏新站优化教育网站制作下载
  • 网站建设项目需求费用高端网站设计新感觉建站
  • 网站开发后端技术企业官网制作费用
  • 现在币圈有那些私募网站做的好网站的备案在哪备案吗
  • 安阳网站建设哪家正规做乡村旅游的网站
  • it培训网站模板做网站多少前
  • 兰州公司做网站wordpress升级后空白
  • 鹿班设计网站官网徐州做网站的公司有哪些
  • 怎么做网站广告代理商中铁二局深圳公司官网
  • 免费企业名录网站windows10优化工具
  • 实用网站模板南阳网站制作价格
  • 网站站内推广计划书wordpress三栏cms主题
  • 石家庄兼职做网站wordpress第三方登录组件