IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Qt4读取json文件信息 -> 正文阅读

[大数据]Qt4读取json文件信息

B站缓存中,弹幕信息存在xml文件中,缓存信息存在json文件中。可以读取json文件,来实现对缓存文件名的识别。

首先,新建widget工程。在UI里画上两个button和一个plaintext

这里需要引入json库,QT4不支持JSON格式,QT5自带了库,所以QT4需要引入第三方,这里使用的是Eeli Reilin的QtJson,还是挺简单的。

下面是示例的实现:


// 单击创建json
void Widget::on_pushButton_2_clicked()
{
    JsonArray keywords = JsonArray() << "json" << "qt" << "parser";
    JsonObject demoJson;
    demoJson["ratio"] = 3.35;
    demoJson["keywords"] = keywords;

    ui->plainTextEdit->appendPlainText("【JSON示例】");
    ui->plainTextEdit->appendPlainText(QtJson::serialize(demoJson));

下面是打开json文件的示例

// 单击打开json文件
void Widget::on_pushButton_clicked()
{
    //打开文件
    QString filedir = QCoreApplication::applicationDirPath();
    QString filename = QFileDialog::getOpenFileName(
                            this,
                            "打开json文件",
                            filedir,
                            "json (*.json)");
    // 取消打开则返回
    if(filename==QString(""))
        return;

    // 显示文件名
    ui->plainTextEdit->appendPlainText("【JSON文件】");
    ui->plainTextEdit->appendPlainText(filename);

    // 利用widget公有成员函数读取json文件内容并显示
    QString jsonStr = readFile(filename);
    ui->plainTextEdit->appendPlainText("【JSON内容】");
    ui->plainTextEdit->appendPlainText(jsonStr);

    // 提取信息
    bool ok;
    JsonObject result = QtJson::parse(jsonStr, ok).toMap();
    if (!ok)
        return;

    ui->plainTextEdit->appendPlainText("【JSON序列化】");
    ui->plainTextEdit->appendPlainText(QtJson::serialize(result));

}

来看看效果:

单击右键按钮时,可以打开json文件:

基本实现了json文件的读写。

附上本文实现的代码:

Qt4实现json文件的读取和显示-C++文档类资源-CSDN下载

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 08:47:05  更:2022-04-30 08:47:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:50:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码