QT开发中文网

使用qjson解析字符串 : {"CmdTag":"4", "CmdType":"6", "RecognizeContent":[ {"id":1, "content":"北京局"}, {"id":2, "content":"北京局"}, {"id":3, "content":"北京局"} ] }

你可以使用 QJsonDocument 和相关的类来解析 JSON 字符串。以下是一个示例代码,演示如何解析你提供的 JSON 字符串:

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

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

    QString jsonString = R"(
        {
            "CmdTag": "4",
            "CmdType": "6",
            "RecognizeContent": [
                {"id": 1, "content": "北京局"},
                {"id": 2, "content": "北京局"},
                {"id": 3, "content": "北京局"}
            ]
        }
    )";

    // 解析 JSON 字符串为 QJsonDocument 对象
    QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonString.toUtf8());

    if (!jsonDoc.isNull()) {
        // 获取顶层对象
        QJsonObject jsonObj = jsonDoc.object();

        // 获取 CmdTag 值
        QString cmdTag = jsonObj["CmdTag"].toString();
        qDebug() << "CmdTag:" << cmdTag;

        // 获取 CmdType 值
        QString cmdType = jsonObj["CmdType"].toString();
        qDebug() << "CmdType:" << cmdType;

        // 获取 RecognizeContent 数组
        QJsonArray recognizeContentArray = jsonObj["RecognizeContent"].toArray();

        for (const auto &item : recognizeContentArray) {
            if (item.isObject()) {
                QJsonObject objItem = item.toObject();

                int id = objItem["id"].toInt();
                QString content = objItem["content"].toString();

                qDebug() << "id:" << id;
                qDebug() << "content:" << content;
            }
        }
    }

    return a.exec();
}

运行上述代码,你将能够从提供的 JSON 字符串中获取到各个字段的值,并打印输出。

希望这可以帮助到你!


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

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=9207

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?