当前位置: 首页 > article >正文

使用Qt实现json数据的格式检测并序列化输出 Qt5.4.0环境

问题:

        使用 Qt 实现 JSON 数据的格式检测,并输出各个键值


代码:

widget.h

#include <QWidget>
#include <QJsonDocument> /*序列化 反序列化(F1查看帮助文档)*/
#include <QJsonObject> /*利用对象代表了一段json数据*/
#include <QJsonArray> /*相当于QJsonObject的子节点*/
#include <QJsonValue>
#include <QDebug>

widget.c

void Widget::on_pushButton_clicked()
{
    QString json_string = ui->textEdit->toPlainText(); /*获取输入的字符串*/
    QJsonDocument doc = QJsonDocument::fromJson(json_string.toUtf8());
    if(doc.isObject()){
        //true
        ui->label->setText("正确的json格式");
        ui->label->setStyleSheet("background-color : rgb(153, 153, 153);\
                                                    color : rgb(50,255,50);");
    }
    else{
        // false
        ui->label->setText("错误的json格式");
        ui->label->setStyleSheet("background-color : rgb(153, 153, 153);\
                                                    color : rgb(255,50,50);");
        return;
    }
    QJsonObject json = doc.object();
    /*无论是序列化还是反序列化都是利用QJsonObject的[ ]运算符重载方法来实现*/
    QJsonValue name = json["name"];
    qDebug()<<name;

    /*从本质上来讲,QJsonObject就是一个存储QJsonValue数据的容器*/
    for(QJsonValue v : json){/*遍历容器(需在pro文件中添加C++11语法)*/
        qDebug()<<v; /*输出*/
    }
}

widget.ui


输出:


http://www.kler.cn/a/473044.html

相关文章:

  • git的rebase和merge的区别?
  • 【STM32+QT项目】基于STM32与QT的智慧粮仓环境监测与管理系统设计(完整工程资料源码)
  • 平面坐标转大地坐标(arcgisPro中进行)
  • Element-plus表单总结
  • 英伟达 RTX 5090 显卡赋能医疗大模型:变革、挑战与展望
  • PCL 分段线性函数
  • 根据docker file 编译镜像
  • 入门嵌入式(六)——定时器
  • GPIO输入及两个应用案例
  • 『SQLite』解释执行(Explain)
  • benchANT 性能榜单技术解读 Part 1:写入吞吐
  • 金融租赁系统助力行业转型与升级的创新之路
  • 生成模型:变分自编码器-VAE
  • 产品经理-商业模式构建 - AxureMost
  • SparkStreaming集群调优
  • H2数据库在单元测试中的应用
  • 实时数仓:Apache Iceberg 的表管理与实时数仓架构设计
  • [读书日志]从零开始学习Chisel 第八篇:Scala的集合(敏捷硬件开发语言Chisel与数字系统设计)
  • MySQL error [Warning] InnoDB: Table mysql/innodb_index_stats has length
  • win32汇编环境,怎么进行乘法运算的
  • (一)使用 WebGL 绘制一个简单的点和原理解析
  • 《计算机视觉解锁图像理解密码:编程实现图片场景文字描述生成》
  • Ungoogled Chromium127 编译指南 MacOS篇(七)- 安装依赖包
  • 【郑大主办、ACM出版、EI稳定检索】第四届密码学、网络安全与通信技术国际会议 (CNSCT 2025)
  • 瑞芯微rk3568平台 openwrt系统适配ffmpeg硬件解码(rkmpp)
  • spring cloud alibaba-dubbo3 rpc运行原理