Qt封装json格式数据
时间: 2023-07-05 08:31:39 浏览: 118
在 Qt 中,可以使用 QJsonDocument 类来封装和解析 JSON 格式数据。以下是一个简单的示例,演示如何将数据封装为 JSON 格式,然后将其解析回来:
```cpp
#include <QJsonDocument>
#include <QJsonObject>
// 封装 JSON 格式数据
QJsonObject jsonObject;
jsonObject["name"] = "张三";
jsonObject["age"] = 30;
jsonObject["married"] = true;
QJsonDocument jsonDoc(jsonObject);
QByteArray jsonData = jsonDoc.toJson();
// 解析 JSON 格式数据
QJsonDocument jsonDoc2 = QJsonDocument::fromJson(jsonData);
QJsonObject jsonObject2 = jsonDoc2.object();
QString name = jsonObject2["name"].toString();
int age = jsonObject2["age"].toInt();
bool married = jsonObject2["married"].toBool();
```
在上面的示例中,我们首先创建了一个 QJsonObject 对象,并添加了一些键值对。然后,我们使用 QJsonDocument 类的 toJson() 函数将其序列化为 JSON 格式的数据,并将其存储在 QByteArray 中。
接下来,我们使用 QJsonDocument 类的静态函数 fromJson() 将 JSON 格式数据解析回来,并将其存储在另一个 QJsonObject 对象中。我们可以通过键名访问 QJsonObject 中的值,并使用相应的 toXXX() 函数将其转换为适当的类型。
注意:在实际应用中,我们应该在解析 JSON 格式数据时,先检查每个键是否存在,以避免出现异常情况。
阅读全文