请教QT 解析 json 的问题

发布网友 发布时间:2022-04-25 05:06

我来回答

1个回答

热心网友 时间:2023-10-28 08:13

解析的主要步骤如下:
1,将来源数据转化为JsonDocument。可用它的构造函数,或setArray、setObject,或它的静态成员函数。
2,可用下列四函数判断它的最外层数据类型(一般是个对象):
bool isArray() const
bool isEmpty() const
bool isNull() const
bool isObject() const

3,知道类型后,用以下函数将它转化为json对象或json数组或Map
QJsonArray array() const
QJsonObject object() const

QVariant toVariant() const
一般方法

// 1. 创建 QJsonParseError 对象,用来获取解析结果

QJsonParseError error;

// 2. 使用静态函数获取 QJsonDocument 对象

QJsonDocument jsonDocument = QJsonDocument::fromJson(json.toUtf8(), &error);

// 3. 根据解析结果进行处理

if (error.error == QJsonParseError::NoError) {

if (!(jsonDocument.isNull() || jsonDocument.isEmpty())) {

if (jsonDocument.isObject()) {

// ...

} else if (jsonDocument.isArray()) {

// ...

}

}

} else {

// 检查错误类型

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com