递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 19261|回复: 35
打印 上一主题 下一主题

[视窗] 火山视窗JSON合成与解析

[复制链接]

359

主题

6675

帖子

1万

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
17012
跳转到指定楼层
楼主
发表于 2021-6-16 16:26:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本源码转载自利快云https://www.lkuaiy.com/

火山视窗JSON合成与解析
一、JSON介绍与模块配置
1JSON介绍。
JSON是一种轻量级的数据交换格式,可以理解为易语言当中的“写配置项”功能。
当然JSON功能要更多,可以多层嵌套存储一些复杂的数据。
JSON的存储要使用“键名”和“键值”,大致数据格式如下图。
2JSON目前共有两个对象,JSON对象类”JSON数组类”
3JSON对象类标准格式为以“{”开始,最终以“}”尾。
键名:用英文双引号包含。
键值:可以使用文本整数小数长整数逻辑true为真、false为假)以及对象键值(可使用json对象类或json数组类当键值)。
4、利用一些JSON解析工具,解析后,可以非常清晰的看到JSON的结构信息。
5JSON数组类标准格式为以“[”开始,最终以“]”结尾。
6JSON数组类没有键名键值概念,只有成员。
7成员内容可以使用文本整数小数长整数逻辑true为真、false为假)以及对象成员(可使用json对象类或json数组类当成员)。
8每个成员之间必须用英文的逗号隔开,并且最后一个成员不需要逗号。
1、首先需要右键项目,选择“配置项目模块”
2、找到JSON数据访问支持模块,勾选后点击确定即可。
二、合成JSON对象类
1、下面直接列举一个简单的例子来介绍如何合成json对象类数据。
合成下面的json文本格式。
{
    "文本键名": "键值",
"整数键名": 111,
    "对象键名": {
        "键名": "键值"
    }
}
2、首先启用顺序输出,这样添加顺序和输出顺序是一致的。
3、然后需要生成最外层的json对象类,依次置入文本和整数值。
4、因为第三个键值是JSON对象类,因此要首先将嵌套的JSON对象类生成出来。
5、最后将生成的嵌套的JSON对象,利用“置入对象值”方法置入到一级对象中即可。
6、然后将JSON对象中的文本导出到编辑框中显示。
7、这里要进行一下文本替换,替换一下换行符,才能正常显示。
6、最后运行后可以看到生成的JSON和示例JSON是一样的,无论多么复杂的json,都离不开这些元素,挨个嵌套进去就可以。
三、解析JSON对象类
1、下面直接列举一个简单的例子来介绍如何解析json对象类数据。
解析下面的json代码,比如我要取出“对象键名”中的“键值”信息。
{
    "文本键名": "键值",
"整数键名": 111,
    "对象键名": {
        "键名": "键值"
    }
}
2、想要取出里面的信息,首先根据json文本创建json对象。
3、创建后取出被嵌套的json对象。
4、最后根据取出来的这个对象,继续取键名即可。
6、最终可以看到键值被取出。无论多么复杂的JSON嵌套,一层一层的依次取出即可。
四、合成JSON数组类
1、下面直接列举一个简单的例子来介绍如何合成json数组数据。
合成下面的json文本格式。
[
    1,
True,
“文本”
{
“内嵌”:JSON对象
},
[1,JSON数组
2、想要实现上面的json代码合成需要下面几步。
3、首先先启用顺序输出,也可以不启用,如果不启用的话添加的顺序和生成的顺序会不一样。
第一:使用“置入XXX”先把整数,文本和逻辑值置入进去。
第二:定义JSON对象的变量,并将内嵌的JSON生成一下,然后调用数组的“置入对象值”置入这个对象。
第三:定义一个json数组的变量,将内嵌的json数组生成一下,然后调用数组的“置入对象值”置入这个数组对象。
第四:最后转换成文本显示出来即可,因为默认输出的是\n换行符,想要正常的显示在编辑框中,需要转换成\r\n.
7、最后运行后可以看到,生成的数据和提供的示例是一样的,证明生成代码没问题。
五、解析JSON数组类
1、找一个小例子来演示解析,解析下面的json数组类。
[
    1,
"文本",
{
"内嵌”:JSON对象"
},
[1,"JSON数组"
2、循环解析数据演示。
(1)首先定义一个常量值将json数据内置进去。
(2)然后根据常量值创建这个json数组。
(3)利用循环方法,循环取出里面每个成员的数据显示在编辑框中。
(4)循环的时候要进行类型判断,根据不同的类型取不同的数据,火山视窗中的JSON不支持任意类型的随便获取。
3、最后可以看到每个成员的数据被取出。
4、演示一下如何取出里面的JSON对象类。
5、数组索引是从0开始,你可以直接提供对象所处的索引值,比如在提供的json文本中,位于成员2,就提供2即可。
6、可以看到对象内的数据被取出。
游客,如果您要查看本帖隐藏内容请回复







火山安卓+PC多部课程尽在:www.lkuaiy.com
回复

使用道具 举报

11

主题

76

帖子

3337

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3337
沙发
发表于 2021-6-16 21:59:39 | 只看该作者
很好,很详细,非常OK
回复

使用道具 举报

0

主题

196

帖子

850

积分

高级会员

Rank: 4

积分
850
板凳
发表于 2021-6-16 23:44:27 | 只看该作者

很好,很详细,非常OK
回复

使用道具 举报

8

主题

43

帖子

451

积分

中级会员

Rank: 3Rank: 3

积分
451
地板
发表于 2021-7-11 21:36:15 | 只看该作者
下载看看
回复

使用道具 举报

31

主题

394

帖子

2026

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2026
QQ
5#
发表于 2021-7-12 15:10:13 | 只看该作者
看看能本地下载不,看完了,可以本地下载了!
火山编程交流群:115717239
不会点c++咋行
回复

使用道具 举报

3

主题

107

帖子

832

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
832
6#
发表于 2021-7-20 11:38:53 | 只看该作者

下载看看
回复

使用道具 举报

0

主题

46

帖子

348

积分

中级会员

Rank: 3Rank: 3

积分
348
7#
发表于 2021-7-20 12:37:31 | 只看该作者
很好,很详细,非常OK
回复

使用道具 举报

0

主题

48

帖子

613

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
613
8#
发表于 2021-7-25 20:19:18 | 只看该作者
详细,多学习
回复

使用道具 举报

359

主题

6675

帖子

1万

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
17012
9#
 楼主| 发表于 2021-8-5 10:42:12 | 只看该作者
日常一顶
火山安卓+PC多部课程尽在:www.lkuaiy.com
回复

使用道具 举报

6

主题

248

帖子

2866

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2866
10#
发表于 2021-8-7 23:14:00 | 只看该作者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-22 01:33 , Processed in 0.100097 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表