Qt之JSON教程-介绍篇

JSON是JavaScript Object Notation的简称,同时也是一种轻量级的数据交换格式。其特点为易于人阅读和编写,同时也易于机器解析和生成,广泛应用于web端数据网络传输。其中Qt5引入了对JSON数据的支持。

插图

JSON数据类型

  • bool
  • double
  • string
  • array
  • object
  • null

JSON格式规则

  • 布尔值由JSON中的truefalse表示;
  • 由于JSON没有明确指定数值的有效范围,但Qt中的支持仅限于double-双精度的有效范围和精度;
  • 字符串可以是任何有效的unicode字符串
  • 数组是值列表,表示方法为方括号包含的内容[...]
  • 对象是键/值对的集合,表示方法为花括号包含的内容{...}
  • 对象中的所有是字符串,对象不能包含任何重复键;
  • 对象中的键和值之间的分隔符是冒号:

Qt有关JSON的类

Qt JSON类 解释
QJsonArray 封装JSON数组
QJsonDocument 读取和写入JSON文档的方法
QJsonParseError 用于报告JSON解析过程中的错误
QJsonObject 封装JSON对象
QJsonValue 用JSON封装一个值

JSON例子

1
2
3
4
5
6
7
8
9
10
11
{
"enable": true,
"length": 10,
"precision": 0.1,
"name": "Car",
"array": [1, 2, 3],
"province": {
"city": "黑龙江"
},
"what": null
}

一些检验工具

  • 在线检验工具BeJsonSoJsonjson.cn