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

wordpress antispambotseo是什么?

wordpress antispambot,seo是什么?,wordpress完全开源吗,仁茂网络seo前言导读 相信很多同学再开发过程中都会遇到json解析的处理,不管是跟服务端交互 或者是读取本地的json 都会遇到json解析 那么正好今天有空正好讲一下鸿蒙next里面的json解析 JSON解析与生成 本模块提供了将JSON文本转换为JSON对应对象或值,以及将对象…
前言导读

相信很多同学再开发过程中都会遇到json解析的处理,不管是跟服务端交互 或者是读取本地的json 都会遇到json解析 那么正好今天有空正好讲一下鸿蒙next里面的json解析

JSON解析与生成

本模块提供了将JSON文本转换为JSON对应对象或值,以及将对象转换为JSON字符串等功能。

导入模块

1import { JSON } from '@kit.ArkTS';

解析json
  • 使用 JSON.parse

parse(text: string, reviver?: Transformer, options?: ParseOptions): Object | null

用于解析JSON字符串生成对应ArkTS对象或null。
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:

参数名类型必填说明
textstring有效的JSON字符串。
reviverTransformer转换函数,传入该参数,可以用来修改解析生成的原始值。默认值是undefined。
optionsParseOptions解析的配置,传入该参数,可以用来控制解析生成的类型。默认值是undefined。
返回值:
类型说明
Object | null返回ArkTS对象或null。当入参是null时,返回null。
错误码:
以下错误码的详细介绍请参见通用错误码。
错误码ID错误信息
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
  • 具体示例
    let jsonText = '{"name": "John", "age": 30, "city": "ChongQing"}';let obj = JSON.parse(jsonText);console.info("getname --- > "+ (obj as object)?.["name"]);console.info("getage --- > "+ (obj as object)?.["age"]);console.info("getcity --- > "+ (obj as object)?.["city"]);

我们通过 JSON.parse 方法得到我们的 obj 对象 然后 (obj as object)?.[“name”] 来取值

我们看下打印效果

在这里插入图片描述

  • 通过 interface 配合 JSON.parse 解析数据
interface Person {name: string;age: number;city: string;
}
let jsonText = '{"name": "John", "age": 30, "city": "ChongQing"}';
let person:Person=JSON.parse(jsonText)as Person;
console.info("personinterface  getpersonname--- > "+ person.name);
console.info("personinterface getpersonage--- > "+ person.age);
console.info("personinterface getpersoncity--- > "+ person.city);
  • 我们查看打印效果

在这里插入图片描述

  • 通过一个class配合 JSON.parse 解析数据
class  Persontest {name: string='';age: number=0;city: string='';}let jsonText = '{"name": "John", "age": 30, "city": "ChongQing"}';let persontest:Persontest=JSON.parse(jsonText.toString()) as Persontest;console.info("personclass getpersontest--- > "+ persontest.name);console.info("personclass getpersontest--- > "+ persontest.age);console.info("personclass getpersontest--- > "+ persontest.city);
  • 我们查看打印效果

在这里插入图片描述

对象或者数组转json JSON.stringify

该方法将一个ArkTS对象或数组转换为JSON字符串,对于容器支持线性容器转换,非线性的容器不支持。
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:

参数名类型必填说明
valueObjectArkTS对象或数组,对于容器支持线性容器转换,非线性的容器不支持。
replacerTransformer在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理。默认值是undefined。
spacestring | number指定缩进用的空格或字符串或空字符串,用于美化输出。当参数是数字时表示有多少个空格;当参数是字符串时,该字符串被当作空格;当参数没有提供时,将没有空格。默认值是空字符串。

返回值:

类型说明
string转换后的JSON字符串。
具体案例
  • 将arkts对象转成json
interface Person {name: string;age: number;city: string;
}
let testobj = {"name": "John", "age": 30, "city": "ChongQing"} as Person;
let str1 = JSON.stringify(testobj);
console.info("jsonstringify getstr1--- > "+ str1);

在这里插入图片描述

  • 将arkts 数组转成json
  export  interface Persondemo {name: string;age: number;city: string;}persons:Persondemo[] = [{ name: "徐庆", age: 31,city:"湖北"},{ name: "宇智波斑", age: 80,city:"宇智波"},{ name: "万祐宁", age: 30,city:"湖北"},{ name: "千手柱间", age: 79,city:"木叶"},{ name: "我爱罗", age: 28,city:"沙影村"},{ name: "佩恩", age: 34,city:"雨影村"},]let getpersons = JSON.stringify(this.persons);
console.info("jsonstringify getpersons--- > "+ getpersons);
  • 转换之后结果
` [{"name":"徐庆","age":31,"city":"湖北"},{"name":"宇智波斑","age":80,"city":"宇智波"},{"name":"万祐宁","age":30,"city":"湖北"},{"name":"千手柱间","age":79,"city":"木叶"},{"name":"我爱罗","age":28,"city":"沙影村"},{"name":"佩恩","age":34,"city":"雨影村"}]`

在这里插入图片描述

  • JSON.has

has(obj: object, property: string): boolean
检查ArkTS对象是否包含某种属性,可用于JSON.parse解析JSON字符串之后的相关操作。has接口仅支持最外层为字典形式(即大括号而非中括号包围)的合法json串。
元服务API: 从API version 12开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明
objobjectArkTS对象。
propertystring属性名。

返回值:

类型说明
boolean返回ArkTS对象是否包含某种属性结果,true表示包含,false表示不包含。

错误码:

以下错误码的详细介绍请参见通用错误码。

错误码ID错误信息
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter
  • 具体案例
  let jsonText = '{"name": "John", "age": 30, "city": "ChongQing"}';let obj = JSON.parse(jsonText);let hasrst = JSON.has(obj, "name");console.info("getrst --- > "+ hasrst);
  • 查看打印效果

我们可以查看到如果has包含了我们json字符串里面的key值就返回true 反之不包含就返回false
在这里插入图片描述

JSON.remove

remove(obj: object, property: string): void

从ArkTS对象中删除某种属性,可用于JSON.parse解析JSON字符串之后的相关操作。remove接口仅支持最外层为字典形式(即大括号而非中括号包围)的合法json串。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Utils.Lang

参数:

参数名类型必填说明
objobjectArkTS对象。
propertystring属性名。

错误码:

以下错误码的详细介绍请参见通用错误码。

错误码ID错误信息
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types.
 let jsonText = '{"name": "John", "age": 30, "city": "ChongQing"}';let obj = JSON.parse(jsonText);let hasrst = JSON.has(obj, "name");let removerst = JSON.remove(obj, "name");let gethasrst = JSON.has(obj, "name");console.info("indexgetrst --- > "+ hasrst);console.info("indexgethasrst --- > "+ gethasrst);
查看打印结果

在这里插入图片描述

我们可以观察到我们删除前后 删除前调用 JSON.has 前我们的返回true 证明json里面包含 name 这个字段 我们在执行了 JSON.remove 再去查询的时候就返回false了,证明我们的api方法执行成功了。

最后总结

arkts 里面的提供丰富的api来解析我们的json ,对比其他端来说也是相对比较简单 对于复杂的json 我们可以定义一个 interface 或者一个class 来配合我们的,JSON.parse 来进行解析复杂的json数据 当然这个生成数据模型model 我们团队有开发一个插件,这样也大大方便我们开发。那么更多的json解析和处理数据结构的各位同学可以关注我掘金的专栏。

插件地址 JsonFormat

https://juejin.cn/post/7397331539850477608

读取本地json

https://juejin.cn/post/7399530589987028992

如果需要学习更多鸿蒙的知识可以关注我B站教程

课程地址

B站课程地址:www.bilibili.com/cheese/play…

项目内容:

http://www.ritt.cn/news/19114.html

相关文章:

  • 深圳网站制作公司哪儿济南兴田德润优惠吗怎么开网店
  • 做汽车导航仪在什么网站找客户seo关键词优化推荐
  • 企业网站需要响应式赚钱平台
  • 连云港做网站建设热搜词排行榜
  • 网站建设与制作教学计划新闻类软文营销案例
  • 白云区做网站企业网站建设的流程
  • 网站文件内容多少与虚拟主机空间大小的关系app推广30元一单
  • 河南住房和城乡建设局网站2024年的新闻时事热点论文
  • 网站做中英文英文太长怎么办免费自助建站哪个最好
  • 做外贸没有企业网站深圳全网推广效果如何
  • 初学者学做网站怎么学泰州seo推广公司
  • destoon做众筹网站男生技能培训班有哪些
  • 教育网站开发文档模板西安网站建设推广专家
  • 网站建设综合实训pptseo项目
  • 高端手机网站建设免费发广告帖子的网站
  • 做视频赚钱的国外网站三一crm手机客户端下载
  • 传统网站模版seo网站推广企业
  • wordpress 接收json电脑优化是什么意思
  • 卷皮淘客网站怎么做谷歌搜索引擎首页
  • 重庆免费自助建站模板建站之星
  • 黑河网站seo微信营销软件免费版
  • 上市公司做家具网站新东方在线教育平台官网
  • 电脑做网站2023年8月新冠疫情
  • 好用的做网站的app营销技巧有哪些
  • wordpress 设置用户权限无锡网站seo
  • 做网站有什么js特效中国职业培训在线官方网站
  • 做钓鱼网站视频教程东营seo整站优化
  • 怎样做网站建设推广公司
  • 泰安东平县建设局网站百度seo代理
  • wordpress 太多重定向win优化大师有免费版吗