递归火山软件开发平台
标题: 火山安卓JSON合成与解析 [打印本页]
作者: 1185907650 时间: 2021-6-15 16:18
标题: 火山安卓JSON合成与解析
本源码转载自利快云https://www.lkuaiy.com/
火山安卓JSON合成与解析
一、JSON介绍与模块配置
1、JSON介绍。
JSON是一种轻量级的数据交换格式,可以理解为易语言当中的“写配置项”功能。
当然JSON功能要更多,可以多层嵌套存储一些复杂的数据。
JSON的存储要使用“键名”和“键值”,大致数据格式如下图。
2、JSON共有两个对象,“JSON对象类”和“JSON数组类”。
3、JSON对象类标准格式为以“{”开始,最终以“}”结尾。
键名:用英文双引号包含。
键值:可以使用“文本”,“整数”,“小数”,“长整数”,“逻辑”(true为真、false为假)以及“对象键值”(可使用json对象类或json数组类当键值)。
4、利用一些JSON解析工具,解析后,可以非常清晰的看到JSON的结构信息。
5、JSON数组类标准格式为以“[”开始,最终以“]”结尾。
6、JSON数组类没有键名键值概念,只有成员。
7、成员内容可以使用“文本”,“整数”,“小数”,“长整数”,“逻辑”(true为真、false为假)以及“对象成员”(可使用json对象类或json数组类当成员)。
8、每个成员之间必须用英文的逗号隔开,并且最后一个成员不需要逗号。
1、首先需要右键项目,选择“配置项目模块”
2、找到JSON数据访问支持模块,勾选后点击确定即可。
二、合成JSON对象类
1、下面直接列举一个简单的例子来介绍如何合成json对象类数据。
合成下面的json文本格式。
{
"文本键名": "键值",
"整数键名": 111,
"对象键名": {
"键名": "键值"
}
}
2、首先需要生成最外层的json对象类,依次置入文本和整数值。
3、因为第三个键值是JSON对象类,因此要首先将嵌套的JSON对象类生成出来。
4、最后将生成的嵌套的JSON对象,利用“置入对象值”方法置入到一级对象中即可。
5、然后将JSON对象中的文本导出到编辑框中显示。
6、最后运行后可以看到生成的JSON和示例JSON是一样的,无论多么复杂的json,都离不开这些元素,挨个嵌套进去就可以。
三、解析JSON对象类
1、下面直接列举一个简单的例子来介绍如何解析json对象类数据。
解析下面的json代码,比如我要取出“对象键名”中的“键值”信息。
{
"文本键名": "键值",
"整数键名": 111,
"对象键名": {
"键名": "键值"
}
}
2、想要取出里面的信息,首先要进行创建JSON对象类,然后才能操作。
3、定义一个常量值,将json文本放进去。
4、利用“创建自文本数据()”方法创建本对象。
5、创建后取出被“对象键名”中存储的JSON对象类,取出来后,继续取“键名”的文本值,就可以将“键值”取出来。
6、最终可以看到键值被取出。无论多么复杂的JSON嵌套,一层一层的依次取出即可。
四、合成JSON数组类
1、下面直接列举一个简单的例子来介绍如何合成json数组数据。
合成下面的json文本格式。
[
1,
1.1,
True,
“文本”,
{
"内嵌":"JSON对象"
},
[1,"JSON数组"]
2、想要实现上面的json代码合成需要四步。
3、第一:使用“置入XXX”先把整数,小数和逻辑值置入进去。
4、第二:定义JSON对象的变量,并将内嵌的JSON生成一下,然后调用“置入对象值”置入这个对象
5、第三:定义一个json数组的变量,将内嵌的json数组生成一下,然后调用“置入对象值”置入这个数组对象。
6、第四:最后转换成文本显示出来即可。
7、最后运行后可以看到,生成的数据和提供的示例是一样的,证明生成代码没问题。
五、解析JSON数组类
1、找一个小例子来演示解析,解析下面的json数组类。
[
1,
“文本”
{
“内嵌”:”JSON对象”
},
[1,”JSON数组”
2、循环解析数据演示。
(1)首先定义一个常量值将json数据内置进去。
(2)然后根据常量值创建这个json数组。
(3)利用循环方法,循环取出里面每个成员的数据显示在编辑框中。
3、最后可以看到每个成员的数据被取出。
4、演示一下如何取出里面的JSON对象类。
5、数组索引是从0开始,你可以直接提供对象所处的索引值,比如在提供的json文本中,位于成员2,就提供2即可。
6、可以看到对象内的数据被取出。
作者: 大强 时间: 2021-6-15 19:42
学习……
作者: 1185907650 时间: 2021-6-26 13:32
每日一顶
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) |
Powered by Discuz! X3.4 |