QT开发中文网

QJsonDocument 转qstring

要将 QJsonDocument 转换为 QString,可以直接使用 QJsonDocumenttoJson() 方法,并结合 QString::fromUtf8() 来实现。以下是一个简单的示例代码,演示如何进行这种转换:

示例代码

#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonObject>
#include <QString>
#include <QDebug>

QString jsonDocumentToString(const QJsonDocument& jsonDoc) {
    // 将 QJsonDocument 转换为 QString
    return QString::fromUtf8(jsonDoc.toJson());
}

int main(int argc, char *argv[]) {
    QCoreApplication a(argc, argv);

    // 创建一个 QJsonObject 示例
    QJsonObject sampleObject;
    sampleObject["name"] = "Alice";
    sampleObject["age"] = 30;

    // 创建一个 QJsonDocument
    QJsonDocument jsonDoc(sampleObject);
    
    // 转换为 QString
    QString jsonString = jsonDocumentToString(jsonDoc);
    
    // 输出结果
    qDebug() << "JSON String:" << jsonString;

    return a.exec();
}

说明

  1. 创建 QJsonObject:在示例中,我们创建了一个简单的 JSON 对象,包含 "name""age" 字段。
  2. 构造 QJsonDocument:将 QJsonObject 传递给 QJsonDocument 的构造函数。
  3. 调用 toJson():使用 toJson() 方法生成字节数组形式的 JSON 数据,然后使用 QString::fromUtf8() 将其转换为字符串。
  4. 输出结果:最后,通过调试输出查看生成的 JSON 字符串。

这样就可以轻松地将一个 QJsonDocument 转换为对应的字符串。如果需要以不同格式(如缩进或压缩)来表示 JSON,可以在调用 toJson() 时提供相应参数,例如:

jsonDoc.toJson(QJsonDocument::Compact);   // 压缩格式
jsonDoc.toJson(QJsonDocument::Indented);   // 美化格式

以上方法可以满足大多数情况下对 JSON 文档与字符串之间转换的需求。


内容由零声教学AI助手提供,问题来源于学员提问

目录导航
  • 示例代码
  • 说明
  • 本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:https://qt.0voice.com/?id=12919

    分享:
    扫描分享到社交APP
    上一篇
    下一篇
    发表列表
    游客 游客
    此处应有掌声~
    评论列表

    还没有评论,快来说点什么吧~

    联系我们

    在线咨询: 点击这里给我发消息

    微信号:3007537140

    上班时间: 10:30-22:30

    关注我们
    x

    注册

    已经有帐号?