JSON数组类操作实例讲解

作者:创世魂

 

● 帮助说明

本类位于“JSON数据访问支持”模块中。

● 本类说明

 

JSON数组类和“JSON对象类”类似,只是具体的表现形式不同,具体如下:

1、以精易网页助手2.66版本为准。

图左:为JSON数组类文本代码。

图右:为解析到树形框后显示效果,更加方便理解JSON数组格式。

2、JSON数组类标准格式为以“[”开始,最终以“]”结尾。

JSON数组类没有键名键值概念,只有成员。

成员内容可以使用“文本”“整数”“小数”“长整数”“逻辑”(true为真、false为假)

以及“对象成员”(可使用json对象类或json数组类当成员)。

每个成员之间必须用英文的逗号隔开,并且最后一个成员不需要逗号。

3、利用精易网页助手解析到树型框后(图右),凡是以“组”文字开始的代表为“JSON数组类”

 

● 创建自文本数据
● 成员数(读)

 

“创建自文本数据”帮助页:

本方法只有一个参数,提供正确的JSON数组文本即可创建当前对象。

创建失败返回空对象。

 

“成员数(读)”帮助页:

通过本属性可取出JSON数组类中的成员数量。

 

准备如下JSON文本:

[1,"文本"]

 

代码编写如下图:

1、将准备的JSON文本放入到常量值中。

2、调用“创建自文本数据()”方法,并赋值给定义的“JSON数组类”变量。

3、调用“成员数”读属性,将结果显示在编辑框中。

 

运行效果如下图:

最后可看到成员数等于2.

 

● 创建自数组

 

帮助页如下图:

通过本方法可将“文本数组”“整数数组”这样的基本数据类型数组转换成JSON数组类。

 

准备如下数组文本:

{"成员1","成员2"}

 

代码编写如下图:

1、将准备的数组文本放入常量值中。

2、调用本方法创建JSON数组类,转换成文本显示在编辑框中。

 

运行效果如下图:

最终可看到文本形式的JSON数组类被显示出来。

 

● 创建自解析对象

 

帮助页如下图:

通过“JSON解析类”创建当前数组对象,失败返回空对象。

 

准备如下JSON文本:

[1,"文本"]

 

代码编写如下图:

1、定义文本常量,初始值导入json数据。

2、通过“JSON解析类.创建自文本()”方法创建解析类对象。

3、调用“创建自解析对象()”方法,创建数组对象后,将JSON数组类转换成文本显示出来。

 

运行效果如下图:

 

● 创建自集合

 

帮助页如下图:

本方法,可通过一个基础类存在集合模板类的对象,来创建JSON数组类。

 

文本哈希集类帮助页:

通过查询帮助页,得知当前类的基础类存在“集合模板类”所以可以用来创建json数组类。

 

代码编写如下图:

1、定义“文本哈希集类”变量,并添加两个成员。

2、调用“创建自集合()”方法创建后,并将结果显示在编辑框中。

 

运行效果如下图:

最终被添加的两个成员显示在了JSON数组类中。

 

● 到JSON对象

 

帮助页如下图:

本方法可通过提供的“键名数组”“键值数组”进行合并处理转换成JSON对象类。

 

准备如下JSON文本:

["键名1","键名2"]

["键值1","键值2"]

 

代码编写如下图:

1、将准备的键名json和键值json分别放入常量值中。

2、利用“创建自文本数据()”方法分别创建“键值JSON数组类”“键名JSON数组类”

3、最后利用当前方法合并成json对象类。

 

运行效果如下图:

最终可看到准备的两个JSON数组类,被合并成了一个JSON对象类数据。

 

● 到可读文本

 

帮助页如下图:

本方法和“到文本()”的作用一致,不同之处是本方法可进行文本缩进。

注意:转换失败将返回空对象。

 

准备如下JSON文本:

[1,"文本"]

 

代码编写如下图:

创建json数组类后可以直接调用本方法转换成可读文本数据。

 

运行效果如下图:

 

● 加入

 

帮助页如下图:

本方法的作用,是将JSON数组类中的每个成员用指定分隔符连接起来,返回连接后的文本。

 

准备如下JSON文本:

[1,"文本"]

 

代码编写如下图:

创建JSON数组类后调用“加入()”方法,利用减号连接成员。

 

运行效果如下图:

组中可看到每个成员用减号连接,并且如果是文本成员会保留引号。

 

● 取小数值 ● 取整数值 ● 取文本值 ● 取逻辑值 ● 取长整数值 ● 取对象值 ● 取数组值

 

以上几个方法用于取出不同数据类型的成员。

用法一致,此处演示“取文本值()”方法

 

“取文本值”帮助页:

顾名思义,本方法可取出JSON数组类指定成员索引的文本数据。

 

准备如下JSON文本:

[1,"文本"]

 

代码编写如下图:

1、将准备的json文本放入常量中。

2、创建JSON数组类后继续调用“取文本值()”方法,取出索引0的数据。

 

运行效果如下图:

 

● 取值

 

帮助页如下图:

本方法用于取出数组中成员的对象类值。

主要作用可用来判断,指定索引的成员是什么类型,从而决定如何进行下一步操作。

 

准备如下JSON文本:

[ 1, 1.1, true, "文本", { "内嵌": "json对象" }, [1, "内嵌json数组"] ]

 

代码编写如下图:

1、通过常量值创建JSON数组类对象。

2、利用“循环”JSON数组每一个成员。

3、取出的对象类成员,可通过“属于”关键词判断是否为指定类型。

 

运行效果如下图:

 

● 是否为空数据

 

帮助页如下图:

本方法用于判断成员是否为空数据,也就是成员是否为NULL。

 

准备如下JSON文本:

[ 1, null]

 

代码编写如下图:

创建JSON数组类后,判断索引1的成员是否为空。

 

运行效果如下图:

 

● 移除指定对象

 

帮助页如下图:

本方法类似于“取值()”,不同之处是本方法会将原对象内的指定成员索引的值删除。

 

准备如下JSON文本:

[ 1, 1.1, true, "文本", { "内嵌": "json对象" }, [1, "内嵌json数组"] ]

 

代码编写如下图:

1、通过JSON数据创建JSON数组类对象。

2、移除索引4,返回索引4的成员数据。

3、输出原对象剩余成员数据。

 

运行效果如下图:

最终可看到,输出的原成员数据内,缺少了JSON对象类数据。

证明该数据已经被移除。

 

● 置入整数值 ● 置入小数值 ● 置入文本值 ● 置入逻辑值 ● 置入长整数值

 

以上几个方法用法一致,不同之处为数据类型不同。

下面举例置入文本值方法。

 

帮助页如下图:

调用本方法可置入文本数据到JSON数组类中。

失败返回空对象,如果数组中已经存在成员,则新置入的数据将加入到最后面。

 

代码编写如下图:

1、定义“JSON数组类”变量,调用当前方法置入三个成员。

2、将结果显示在编辑框中。

 

运行效果如下图:

三个成员被输出,证明置入成员成功。

 

● 置入对象值

 

帮助页如下图:

通过本方法可置入任意类型的数据到JSON数组类中。

 

代码编写如下图:

调用本方法分别置入文本,整数和JSON对象类数据。

 

运行效果如下图:

所有置入的数据将显示在JSON数组类中。

 

● 置入对象值到指定位置
● 置入整数值到指定位置
● 置入文本值到指定位置
● 置入逻辑值到指定位置
● 置入长整数到指定位置

 

以上几个方法的作用,可用于替换指定索引的成员数据。

下面看代码演示“置入文本值到指定位置”

 

准备如下JSON文本:

[1,"文本"]

 

代码编写如下图:

1、利用常量值创建JSON数组类对象。

2、调用“置入文本值到指定位置()”方法,替换索引0的成员。

3、输出结果到编辑框中。

 

运行效果如下图:

原成员“1”被替换成“替换成员”

 

 

● 生成一段被嵌套的JSON数据

 

代码编写如下图:

1、定义两个类型为“JSON对象类”的变量,分别为“一级JSON”“二级JSON”

注:“一级JSON”即最外层的JSON对象,“二级JSON”为嵌套的JSON对象。

2、给“二级JSON”置入文本值,随后将当前对象保存到“一级JSON”中。

3、创建类型为“JSON数组类”“二级JSON数组”变量,并置入三个文本值。

4、将“二级JSON数组”置入“一级JSON”对象中。

5、最后将“一级JSON”转换成可读文本。

 

运行效果如下图: