QT开发中文网

"{\"code\":200,\"message\":\"\",\"data\":[{\"no\":\"001\",\"rtsp\":\"\",\"cameraAngle\":0.0,\"shipAngle\":0.0},{\"no\":\"002\"

你可以使用Qt提供的Json模块来解析JSON格式的数据。以下是一个简单的示例:

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

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

    // 原始数据
    QString jsonStr = "{\"code\":200,\"message\":\"\",\"data\":[{\"no\":\"001\",\"rtsp\":\"\",\"cameraAngle\":0.0,\"shipAngle\":0.0},{\"no\":\"002\",\"rtsp\":\"\",\"cameraAngle\":0.0,\"shipAngle\":0.0}],\"total\":null,\"msg\":null}";

    // 将字符串转换为Json文档对象
    QJsonParseError parseError;
    QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonStr.toUtf8(), &parseError);

    if (parseError.error != QJsonParseError::NoError) {
        qDebug() << "Json parse error:" << parseError.errorString();
        return -1;
    }

    // 获取根对象
    QJsonObject jsonObj = jsonDoc.object();

    // 获取data字段,它是一个数组
    QJsonArray dataArray = jsonObj.value("data").toArray();

    // 遍历数组中的元素并获取其属性值
    foreach (const QJsonValue & value, dataArray) {
        QJsonObject obj = value.toObject();
        QString no = obj.value("no").toString();
        QString rtsp = obj.value("rtsp").toString();
        double cameraAngle = obj.value("cameraAngle").toDouble();
        double shipAngle = obj.value("shipAngle").toDouble();
        qDebug() << "no:" << no << "rtsp:" << rtsp << "cameraAngle:" << cameraAngle << "shipAngle:" << shipAngle;
    }

    return a.exec();
}

输出结果:

no: "001" rtsp: "" cameraAngle: 0 shipAngle: 0
no: "002" rtsp: "" cameraAngle: 0 shipAngle: 0

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?