// 常用类一共有四个
QJsonDocument
QJsonArray
QJsonObject
QJsonValue
// 使用json实际场景: json数据在内存, json数据在磁盘中
// 数据在磁盘文件中
1. 读磁盘文件 -> 字符串 -> json格式
2. json格式字符串 -> json数组/对象
- 通过QJsonDocument进行转换
3. 使用QJsonArray或QJsonObject api对数据进行操作
// json格式字符串 -> json文档对象
[static] QJsonDocument QJsonDocument::fromJson(const QByteArray &json, QJsonParseError *error = Q_NULLPTR);
// 判断文档对象中存储的是数组还是对象
bool QJsonDocument::isArray() const;
bool QJsonDocument::isObject() const;
// 文档对象转换为数组
QJsonArray QJsonDocument::array() const;
// 文档对象转换为jsonobject
QJsonObject QJsonDocument::object() const;
// 在内存中组织一个json数组/json对象 -> 写文件/发送
1. 创建json数组/json对象 (空数组/对象)
2. 添加数据
- jsonarray: append, insert
- jsonobject: insert
3. 将jsonarray, jsonobject -> QJsonDocument对象
QJsonDocument::QJsonDocument(const QJsonObject &object);
QJsonDocument::QJsonDocument(const QJsonArray &array);
4. QJsonDocument对象中的数据 -> 字符串
QByteArray QJsonDocument::toJson(JsonFormat format = Indented) const;
5. 比如要写磁盘
QFile