你可以使用 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助手提供,问题来源于学员提问