在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 += core
和QT += widgets
到.pro文件中,以正确链接所需的库。根据需要调整代码以适应你的项目环境和逻辑处理。
内容由零声教学AI助手提供,问题来源于学员提问