json提供的几个类:
Value类:将json支持的数据类型进行包装,最终得到一个Value类型
FastWriter类:将Value对象中的数据序列化为字符串,序列化后可以得到json格式的字符串
Reader类:反序列化,将json字符串解析为Value类型,得value类型后,就可以调用这个类提供的api,把里面对应的实际类型的数据取出来
json数组中中括号可以存储若干个元素,元素类型可以不一致
json对象中可以存储若干个键值对,key值必须是字符串,key值可以是其他类型
value类提供的相关的api函数
json是一种数据格式,是独立于语言的,用来组织数据
一般处理两方面的任务:1.组织数据(数据序列化),用于数据的网络传输
2.组织数据(数据序列化),写磁盘文件实现数据的持久化存储,一般以.json作为文件后缀
在进行网络通信之前一般会对数据进行序列化,所谓的序列化就是对数据进行组织,比如A给B发数据,发送的数据比较复杂,比如有string,int,double三个数据块,想要一次性发送给对方,需要先对数据进行序列化,放到json这种数据格式里,从而得到一个字符串,然后把这个字符串从A段发送到B端,B端对字符串进行解析,然后进行后续的处理,处理完毕后B端再去组织回复的数据
因为在网络通信的时候,使用的套接字通信函数,它们发送的都是一个字符串,那就先要把发送的数据先组织到一个字符串里头,然后在把这个字符串发送给对端。json就是一种简单的并且操作起来比较简单的数据格式
什么时候需要把数据持久化到磁盘呢,写配置文件的时候,比如说做了个登录窗口,里面有用户名和窗口,在下面还有个复选框,复选框的描述是记住用户名和密码,记住的用户名和密码就是通过磁盘文件记录,当这个窗口显示的时候,它就会加载磁盘上的配置文件,把文件的内容初始化当前的窗口里
先通过QJsonObject或者QJsonArray转换成为字符串,这就是数据序列化的过程