在Qt中解析JSON可以使用Qt提供的QJsonDocument和QJsonObject类。以下是一个简单的例子:
#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonObject>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// JSON字符串
QString jsonStr = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
// 解析JSON字符串为QJsonDocument对象
QJsonDocument doc = QJsonDocument::fromJson(jsonStr.toUtf8());
// 检查解析是否成功
if(!doc.isNull())
{
if(doc.isObject())
{
// 转换为QJsonObject对象
QJsonObject jsonObj = doc.object();
// 从对象中获取对应的值
QString name = jsonObj["name"].toString();
int age = jsonObj["age"].toInt();
QString city = jsonObj["city"].toString();
qDebug() << "Name:" << name;
qDebug() << "Age:" << age;
qDebug() << "City:" << city;
}
else
{
qDebug() << "Invalid JSON object.";
}
}
else
{
qDebug() << "Failed to parse JSON.";
}
return a.exec();
}
这个例子演示了如何将一个JSON字符串解析成一个QJsonObject,并从中获取对应的值。请注意,你需要添加相应的Qt模块到项目文件中(例如:QT += core)才能正常编译运行代码。
内容由零声教学AI助手提供,问题来源于学员提问