很抱歉,正确的方法名是QJsonDocument::fromJson()而不是QJosnDocument::fromjosn()。fromJson()方法用于将JSON数据解析为QJsonDocument对象。以下是一个使用示例:
#include <QJsonDocument>
#include <QJsonObject>
QString jsonString = "{\"name\":\"John\", \"age\":30}";
QByteArray jsonData = jsonString.toUtf8();
QJsonParseError error;
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonData, &error);
if (jsonDoc.isNull()) {
qDebug() << "JSON parsing failed: " << error.errorString();
} else {
QJsonObject jsonObject = jsonDoc.object();
QString name = jsonObject["name"].toString();
int age = jsonObject["age"].toInt();
qDebug() << "Name: " << name;
qDebug() << "Age: " << age;
}
在这个例子中,我们首先将JSON字符串转换为UTF-8编码的字节数组jsonData,并使用fromJson()方法将其解析为QJsonDocument对象jsonDoc。如果解析过程中出现错误,可以从error对象获取错误信息。
然后,我们可以通过调用object()方法获取根级别的QJsonObject对象,并从中提取相应的键值对。
希望这个例子能够帮助到你!
内容由零声教学AI助手提供,问题来源于学员提问