有没有做美食的视频网站外贸做什么产品出口好

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

有没有做美食的视频网站,外贸做什么产品出口好,石家庄学校网站建设,wordpress怎么制作首页前言导读 相信很多同学再开发过程中都会遇到json解析的处理#xff0c;不管是跟服务端交互 或者是读取本地的json 都会遇到json解析 那么正好今天有空正好讲一下鸿蒙next里面的json解析 JSON解析与生成 本模块提供了将JSON文本转换为JSON对应对象或值#xff0c;以及将对象…前言导读 相信很多同学再开发过程中都会遇到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:PersonJSON.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: number0;city: string;}let jsonText {name: John, age: 30, city: ChongQing};let persontest:PersontestJSON.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 参数 参数名类型必填说明valueObject是ArkTS对象或数组对于容器支持线性容器转换非线性的容器不支持。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 参数 参数名类型必填说明objobject是ArkTS对象。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 参数 参数名类型必填说明objobject是ArkTS对象。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… 项目内容: 1 常用布局组件的学习 2 网络请求工具类封装 3 arkui 生命周期启动流程 4 日志工具类的封装 5 自定义组合组件的封装 6 路由导航跳转的使用 7 本地地数据的缓存 以及缓存工具类的封装 8 欢迎页面的实现 9 登录案例和自动登录效果实现 10 请求网络数据分页上拉加载 下拉刷新的实现 11 list数据懒加载实现 12 webview组件的使用