你可以使用 QJsonArray
封装 QMap<int, QString>
数据的方法如下:
QMap<int, QString> mapData; // 假设有一个 QMap<int, QString> 的数据
// 创建一个 QJsonArray 对象
QJsonArray jsonArray;
// 遍历 QMap,并将数据添加到 QJsonArray 中
for (auto it = mapData.begin(); it != mapData.end(); ++it) {
QJsonObject jsonObj;
jsonObj["key"] = it.key();
jsonObj["value"] = it.value();
jsonArray.append(jsonObj);
}
// 将 QJsonArray 转换为 JSON 字符串
QJsonDocument jsonDoc(jsonArray);
QString jsonString = jsonDoc.toJson(QJsonDocument::Compact);
// 输出 JSON 字符串
qDebug() << jsonString;
上述代码将 QMap 中的键值对逐个封装为包含 “key” 和 “value” 属性的 QJsonObject,并添加到 QJsonArray 中。最后,通过将 QJsonArray 转换为 JSON 字符串,你可以获取到包含封装好的数据的 JSON 格式字符串。
希望这能帮到你!
内容由零声教学AI助手提供,问题来源于学员提问