QT开发中文网

用qtC++代码解析

在Qt C++中,你可以使用Qt提供的QJsonDocument和QJsonObject类来解析JSON数据。以下是一个示例代码,展示了如何使用Qt解析该JSON数据:

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

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

    QString json_data = R"(
        {
            "TeacherName": "",
            "class": "",
            "data": {
                "subject_1": {
                    "image": "",
                    "score": 10,
                    "subject_Type": {
                        "banswer": [
                            "1",
                            "2",
                            "3",
                            "4"
                        ],
                        "banswer_standard": [
                            "A"
                        ],
                        "bret": false
                    },
                    "subject_itype": 2,
                    "subject_name": "1",
                    "subject_number": 1
                }
            },
            "exam": "",
            "examScore": "10",
            "examTime": ""
        }
    )";

    // 解析JSON数据
    QJsonParseError error;
    QJsonDocument json_doc = QJsonDocument::fromJson(json_data.toUtf8(), &error);

    if (error.error != QJsonParseError::NoError) {
        qDebug() << error.errorString();
        return -1;
    }

    // 获取根对象
    QJsonObject root_obj = json_doc.object();

    // 访问解析后的数据
    QString teacher_name = root_obj["TeacherName"].toString();
    QString class_name = root_obj["class"].toString();
    
    int subject_1_score = root_obj["data"].toObject()["subject_1"].toObject()["score"].toInt();

    qDebug() << "教师姓名:" << teacher_name;
    qDebug() << "班级:" << class_name;
    qDebug() << "科目1分数:" << subject_1_score;

    return a.exec();
}

请确保在Qt项目中添加了QT += coreQT += widgets到.pro文件中,以正确链接所需的库。根据需要调整代码以适应你的项目环境和逻辑处理。


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?