QByteArray 转json
时间: 2023-09-17 11:06:39 浏览: 64
可以使用 QJsonDocument 类将 QByteArray 转换为 JSON 对象。
示例代码:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <QJsonDocument>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QByteArray byteArray = "{\"name\": \"Alice\", \"age\": 20}".toUtf8();
QJsonDocument jsonDoc = QJsonDocument::fromJson(byteArray);
if (jsonDoc.isNull()) {
qWarning() << "Failed to parse JSON";
return 1;
}
if (!jsonDoc.isObject()) {
qWarning() << "JSON is not an object";
return 1;
}
QJsonObject jsonObj = jsonDoc.object();
QString name = jsonObj.value("name").toString();
int age = jsonObj.value("age").toInt();
qDebug() << "Name:" << name << ", Age:" << age;
return a.exec();
}
```
在上面的示例中,我们首先将 QByteArray 对象转换为 QJsonDocument 对象,然后检查其是否为 JSON 对象,最后从 JSON 对象中提取数据。
阅读全文