qt 将qlist转为json
时间: 2024-09-12 18:17:00 浏览: 107
Qt之QList使用说明
5星 · 资源好评率100%
在Qt中,将`QList`转换为JSON格式,可以使用`QJsonDocument`类。这个类提供了从JSON文档到Qt数据结构的互相转换的接口。以下是一个将`QList`转换为JSON格式字符串的简单示例:
```cpp
#include <QList>
#include <QVariant>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
// 假设我们有一个QList,其中包含一些整数
QList<int> list = QList<int>() << 1 << 2 << 3 << 4 << 5;
// 将QList转换为QJsonArray
QJsonArray jsonArray;
foreach (int value, list) {
jsonArray.append(QJsonValue(value));
}
// 创建一个QJsonObject,并将QJsonArray添加为对象的一个属性
QJsonObject jsonObject;
jsonObject.insert("numbers", jsonArray);
// 将QJsonObject转换为QJsonDocument
QJsonDocument jsonDocument(jsonObject);
// 最后,将QJsonDocument转换为字符串格式
QString jsonString = jsonDocument.toJson(QJsonDocument::Compact); // 也可以使用QJsonDocument::Indented来格式化输出
// 输出转换后的JSON字符串
qDebug() << jsonString;
```
这段代码首先创建了一个包含整数的`QList`,然后创建了一个`QJsonArray`并逐个将列表中的元素添加到数组中。接着创建了一个`QJsonObject`并把`QJsonArray`作为其属性。最后,使用`QJsonDocument`将`QJsonObject`转换为JSON字符串,并通过`toJson`方法输出。
阅读全文