QT开发中文网

qt判断json的key值是否存在

在Qt中,可以使用QJsonObject的contains()方法来判断JSON对象中是否存在特定的键。

以下是一个示例代码,演示了如何使用Qt来判断JSON对象中的键是否存在:

#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonObject>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);

    // 示例 JSON 数据
    QString jsonString = "{\"name\": \"John\", \"age\": 25, \"city\": \"New York\"}";

    // 解析 JSON 数据为 QJsonObject
    QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonString.toUtf8());
    if (!jsonDoc.isObject()) {
        qDebug() << "无效的 JSON 数据";
        return -1;
    }

    QJsonObject jsonObj = jsonDoc.object();

    // 判断键名是否存在
    QString key = "name";
    if (jsonObj.contains(key)) {
        qDebug() << "键" << key << "存在于 JSON 对象中";
        // 可以进一步获取该键对应的值
        QVariant value = jsonObj.value(key).toVariant();
        qDebug() << "值:" << value.toString();
    } else {
        qDebug() << "键" << key << "不存在于 JSON 对象中";
    }

    key = "email";
    if (jsonObj.contains(key)) {
        qDebug() << "键" << key << "存在于 JSON 对象中";
        QVariant value = jsonObj.value(key).toVariant();
        qDebug() << "值:" << value.toString();
    } else {
        qDebug() << "键" << key << "不存在于 JSON 对象中";
    }

    return app.exec();
}

在这个示例中,我们首先将JSON字符串解析为QJsonDocument对象。然后,使用isObject()方法来检查是否解析成功并得到一个JSON对象。

接下来,我们可以使用contains()方法来判断JSON对象中是否存在特定的键。如果键存在,可以进一步获取该键对应的值,并进行相应的操作。如果键不存在,则执行其他逻辑。

希望这个示例能够帮助您在Qt中判断JSON对象中的键是否存在。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=11101

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?