Qt中的JSON操作_1: JSON的基本知识介绍(JSON格式、JSON数组、JSON对象、应用场景)

JSON是一种轻量级的数据交换格式,基于ECMAScript子集,独立于编程语言。常用于数据的网络传输和磁盘存储。其主要包含两种数据格式:JSON数组和JSON对象。数组可包含不同类型的元素,对象则由键值对组成。在文件存储中,一个JSON文件只能有一个根节点。使用时需注意数据的嵌套和组织,确保符合JSON规范。

总结放于前:
JSON是一种利用JSON数组和JSON对象描述数据内容的数据格式,采用树状的结构,只能有一个父节点,子节点不设限,但父子节点均为JSON对象或者JSON数组。

1. Json 简介


JSON(JavaScrip Object Notation) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的 js 规范) 的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

关于上面的描述可以精简为一句话:Json 是一种数据格式,和语言无关,在什么语言中都可以使用 Json。
基于这种通用的数据格式,一般处理两方面的任务:

(1) 组织数据(数据序列化),用于数据的网络传输
通讯过程如下: 假设有一种情况A需要给B发送指令,如果只是一个string类型的信息是很简单的,但是如果这条信息包含:string,int ,double,那么就需要将这些内容放到JSON这种数据格式中,从而得到一个字符串,从A端发送到B端,B就可以按照JSON的格式将字符串解析处理,处理完成之后又按照JSON的格式发送给A端,A端接到信息后进行解析处理,这就是一个AB端发送接收的过程。具体如下图所示:
在这里插入图片描述
总结:JSON通讯函数发送的是一个字符串,这样就需要将要发送的内容组织到一个字符串中,发送给对方。

(2) 组织数据(数据序列化),写磁盘文件实现数据的持久化存储(一般以.json 作为文件后缀,适合做为配置文件)
数据在磁盘中的存储就涉及数据的写入和读取,写入需要按照JSON的格式,读取也是读到的为JSON格式的字符串,把读到的字符串按照JSON的数据格式就可以将里面对应的原始数据格式依次读取出来

Json 中主要有两种数据格式:Json 数组和 Json 对象,并且这两种格式可以交叉嵌套使用,下面依次介绍下这两种数据格式:

2. Json 数组


Json 数组使用 [ ] 表示,[ ] 里边是元素,元素和元素之间使用逗号间隔,最后一个元素后边没有逗号。
一个 Json 数组中支持同时存在 多种不同类型的成员,包括: 整形、 浮点、 字符串、 布尔类型、 json数组、 json对象、 空值-null
直接在[ ] 中写元素,不用像C++中那样定义元素的个数,JSON中的元素是没有上限的,由此可见 Json 数组比起 C/C++ 数组要灵活很多。

(1)Json 数组中的元素数据类型一致

// 整形
[1,2,3,4,5]
// 字符串
["luffy", "sanji", "zoro", "nami", "robin"]

(2)Json 数组中的元素数据类型不一致

[12, 13.34, true, false, "hello,world", null]

(3)Json 数组中的数组嵌套使用

[
    ["cat", "dog", "panda", "beer", "rabbit"],
    ["北京", "上海", "天津",
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十月旧城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值