02. JSON Support in Qt
2.1 Qt中JSON概述
Qt提供了处理JSON数据的支持。JSON是一种编码来自Javascript的对象数据的格式,但现在已广泛用作Internet上的数据交换格式。
Qt中的JSON支持提供了易于使用的C ++ API来解析,修改和保存JSON数据。它还支持以二进制格式保存此数据,该格式可以直接“ mmap”访问并且访问速度非常快。
有关JSON数据格式的更多详细信息,可以在json.org和RFC-4627中找到。
2.2 Qt中JSON类型
JSON是一种存储结构化数据的格式。它具有6种基本数据类型:
double
string
array
object
值可以具有上述任何类型。布尔值由JSON中的true或false字符串表示。JSON并未明确指定数字的有效范围,但是Qt中的支持仅限于有效范围和双精度。字符串可以是任何有效的unicode字符串。数组是值的列表,而对象是键/值对的集合。对象中的所有键都是字符串,并且对象不能包含任何重复的键。
JSON的文本表示形式将数组括在方括号([…])中,将对象括在大括号({…})中。数组和对象中的条目以逗号分隔。对象中键和值之间的分隔符是冒号(:)。
简单的JSON例子如下:
"FirstName": "John",
"LastName": "Doe",
"Age": 43,
"Address": {
"Street": "Downing Street 10",
"City": "London",
"Country": "Great Britain"
"Phone numbers": [
"+44 1234567",
"+44 2345678"
上面的示例由一个具有5个键/值对的对象组成。其中两个值是字符串,一个是数字,一个是另一个对象,最后一个是数组。
有效的JSON文档是数组或对象,因此文档始终以方括号或大括号开头。
03. JSON类
QT4中使用第三方库QJson解析JSON文件。
QT5新增加了处理JSON的类,类均以QJson开头,包含在QtCore模块中。
QT5新增加如下七个相关类:
QJsonDocument
读写 JSON 文档
QJsonObject
封装 JSON 对象
QJsonObject::iterator
用于遍历QJsonObject的STL风格的非const遍历器
QJsonParseError
报告 JSON 处理过程中出现的错误
QJsonValue
封装 JSON 值
QJsonArray
封装 JSON 数组
04. 附录
4.1 JSON官方网站:http://json.org/
4.2 JsonCpp源码下载:https://github.com/open-source-parsers/jsoncpp
Java中在特定区间产生随机数
这个是最常用的技术之一。程序员希望通过随机数的方式来处理众多的业务逻辑,测试过程中也希望通过随机数的方式生成包含大量数字的测试用例。问题往往类似于:
如何随机生成 1~100 之间的随机数,取值包含边界值 1 和 100。以 Java 语言为例,我们观察其 Random 对象的 nextInt(int) 方法,发现
java通讯录查找 java通讯录程序
通讯录程序 要求:使用图形用户界面。用数据库建立 1 个通讯录表。(不限使用哪种数据库)。能连接数据库并实现查询、增、删、改等功能。 CreateJFrame1 package 窗口;
3 import java.awt.Color;
4 import java.awt.Container;
5 import java.awt.event.ActionEvent;
6 import