json格式的qstring 解析
时间: 2023-07-03 14:26:34 浏览: 94
QT 解析,生成JSON
要解析 JSON 格式的 QString,也需要使用 QJsonDocument 类。
以下是一个示例代码:
```cpp
#include <QJsonObject>
#include <QJsonDocument>
QString jsonStr = "{\"message\":\"Hello World\"}";
QJsonDocument doc = QJsonDocument::fromJson(jsonStr.toUtf8());
QJsonObject obj = doc.object();
QString message = obj.value("message").toString();
```
在这个示例中,我们首先定义了一个 JSON 格式的 QString,然后使用 QJsonDocument::fromJson() 方法将其转换为 QJsonDocument 对象。接着,我们从 QJsonDocument 对象中获取 QJsonObject,并使用 value() 方法获取其中的属性值。需要注意的是,value() 方法的返回值是 QJsonValue,需要使用 toString() 方法将其转换为 QString。
还有一种更简单的方法是使用 QJsonParseError 类来捕获解析 JSON 字符串时可能出现的错误,示例代码如下:
```cpp
#include <QJsonObject>
#include <QJsonDocument>
QString jsonStr = "{\"message\":\"Hello World\"}";
QJsonParseError error;
QJsonDocument doc = QJsonDocument::fromJson(jsonStr.toUtf8(), &error);
if (error.error != QJsonParseError::NoError) {
qDebug() << "JSON parse error:" << error.errorString();
}
QJsonObject obj = doc.object();
QString message = obj.value("message").toString();
```
在这个示例中,我们使用 QJsonParseError 对象来捕获解析 JSON 字符串时可能出现的错误,并输出错误信息。
阅读全文