1、QJsonDocument
详细说明
QJsonDocument类提供了读写JSON文档的方法。
QJsonDocument是一个封装了完整JSON文档的类,可以从基于UTF-8编码的文本或者Qt的二进制格式读写此文档。
可以使用QJsonDocument :: fromJson()将JSON文档从其基于文本的表示转换为QJsonDocument。 toJson()将其转换回文本。 解析器非常快速有效,并将JSON转换为Qt使用的二进制表示。
可以使用!isNull()查询已解析文档的有效性
可以使用isArray()和isObject()查询文档是否包含数组或对象。 可以使用array()或object()检索文档中包含的数组或对象,然后进行读取或操作。
还可以使用fromBinaryData()或fromRawData()从存储的二进制表示创建文档。
2、QJsonArray
详细说明
QJsonArray 类封装了一个 JSON 数组。
JSON 数组是值的列表。列表可以被操作,通过从数组中插入和删除 QJsonValue 。
一个 QJsonArray 可以和一个 QVariantList 相互转换。可以使用 size() 来查询条目的数量,通过 insert() 在指定索引处插入值,removeAt() 来删除指定索引的值。支持标准C++的迭代器。
QJsonArray是一个隐式共享类,只要它没有被修改,就会与创建它的文档共享数据。
QJsonArray对象和基于文本的JSON可以通过QJsonDocument进行相互转换。
3、QJsonObject
详细说明
QJsonObject 类封装了一个 JSON 对象。
一个 JSON 对象是一个“key/value 对”列表,key 是独一无二的字符串,value 由一个 QJsonValue 表示。
一个 QJsonObject 可以和一个 QVariantMap 相互转换。可以使用 size() 来查询“key/value 对”的数量,通过 insert() 插入“key/value 对”, remove() 删除指定的 key。
QJsonObject是一个隐式共享类,只要它没有被修改,就会与创建它的文档共享数据。
QJsonObject对象和基于文本的JSON可以通过QJsonDocument进行相互转换。
4、QJsonParseError
详细说明
QJsonParseError 类用于在 JSON 解析中报告错误。
5、QJsonValue
详细说明
QJsonValue 类封装了一个值。
JSON 中的值有 6 种基本数据类型:
- bool(QJsonValue::Bool)
- double(QJsonValue::Double)
- string(QJsonValue::S