QT JSON文件解析
参考博客
https://blog.csdn.net/cpp_learner/article/details/118421096
1 打开文件,读取全部内容
QFile file("../Json/js.json");
if (!file.open(QFile::ReadOnly | QFile::Text)) {qDebug() << "can't open error!";return;
}// 读取文件的全部内容
QTextStream stream(&file);
stream.setCodec("UTF-8"); // 设置读取编码是UTF8
QString str = stream.readAll();file.close();
2 将字符串解析成QJsonDocument对象
// QJsonParseError类用于在JSON解析期间报告错误。
QJsonParseError jsonError;
// 将json解析为UTF-8编码的json文档,并从中创建一个QJsonDocument。
// 如果解析成功,返回QJsonDocument对象,否则返回null
QJsonDocument doc = QJsonDocument::fromJson(str.toUtf8(), &jsonError);
// 判断是否解析失败
if (jsonError.error != QJsonParseError::NoError && !doc.isNull()) {qDebug() << "Json格式错误!" << jsonError.error;return;
}
3 获取JSON根{}对象
QJsonObject rootObj = doc.object();
4 根据键获取值
// 根据键获取值
QJsonValue nameValue = rootObj.value("name");
qDebug() << "name = " << nameValue.toString();QJsonValue ageValue = rootObj.value("age");
qDebug() << "age = " << ageValue.toInt();
// 解析 bool类型
QJsonValue vipValue = rootObj.value("vip");
qDebug() << "vip = " << vipValue.toBool();// 解析 null类型
QJsonValue addressValue = rootObj.value("address");
if (addressValue.type() == QJsonValue::Null) {qDebug() << "address = " << "null";
}
5 解析对象 { }
QJsonValue interestValue = rootObj.value("interest");
// 判断是否是object类型
if (interestValue.type() == QJsonValue::Object) {// 转换为QJsonObject类型QJsonObject interestObj = interestValue.toObject();QJsonValue basketballValue = interestObj.value("basketball");qDebug() << "basketball = " << basketballValue.toString();QJsonValue badmintonValue = interestObj.value("badminton");qDebug() << "badminton = " << badmintonValue.toString();
}
QML解析Json文件来更换语言
自己写一个map 重载translate
https://blog.csdn.net/tanxuan231/article/details/125442789#
相关文章:
QT JSON文件解析
参考博客 https://blog.csdn.net/cpp_learner/article/details/118421096 1 打开文件,读取全部内容 QFile file("../Json/js.json"); if (!file.open(QFile::ReadOnly | QFile::Text)) {qDebug() << "cant open error!";return; }// 读…...
[小白系列]GPU-nvidia-smi指令
nvidia-smi(NVIDIA System Management Interface)是一种命令行实用程序,用于监控和管理NVIDIA GPU(图形处理器)的状态和性能。它提供了一种简单而强大的方式来获取有关GPU的实时信息,并且可以用于诊断、…...
在SQL Server中使用hash join来提高表连接的性能
在SQL Server中使用hash join来提高表连接性能时,需要考虑数据集的大小、索引情况以及查询的具体需求。 在SQL Server中使用hash join来提高表连接性能的情况主要包括以下几种: • 两个表都没有合适的索引:Hash join通常适合当两个表都没有索…...
《Django 5 By Example》阅读笔记:p493-p520
《Django 5 By Example》学习第 17 天,p493-p520 总结,总计 28 页。 一、技术总结 1.internationalization(国际化) vs localization(本地化) (1)18n,L10n,g11n 以前总觉得这两个缩写好难记,今天仔细看了下维基百科…...
【开源】基于SpringBoot框架的网上订餐系统 (计算机毕业设计)+万字毕业论文 T018
系统合集跳转 源码获取链接 一、系统环境 运行环境: 最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 tomcat环境: Tomcat 7.x,8.x,9.x版本均可 操作系统…...
数据湖治理最佳实践
如果没有最佳实践,存储可能会变得无法维护。自动化数据质量、生命周期和隐私功能可持续清理/移动数据湖中的数据。数据湖正成为企业从大数据中提取价值的一种日益可行的解决方案,对于早期采用者和新用户来说都是合理的下一步。在独立的逻辑区域中随时可用…...
基于php求职招聘系统设计
摘要 随着社会信息化时代的到来,如今人们社会的生活节奏普遍加快,人们对于工作效率的要求也越来越高,企业 举办招聘会耗时耗财,个人参加招聘会漫无目的寻找不到“方向”,网络搜索工作量目的性不强,信息量繁…...
ensp实验-vrrp多网关配置
一、交换机与路由的配置区别 1. 角色定义交换机: Master 或 Backup: 交换机通常作为 Master 或 Backup 设备参与 VRRP,负责在主设备故障时接替其工作。路由器: Master 或 Backup: 路由器同样可以作为 Master 或 Backup 设备…...
Ajax--实现检测用户名是否存在功能
目录 (一)什么是Ajax (二)同步交互与异步交互 (三)AJAX常见应用情景 (四)AJAX的优缺点 (五)使用jQuery实现AJAX 1.使用JQuery中的ajax方法实现步骤…...
【代码pycharm】动手学深度学习v2-09 Softmax 回归 + 损失函数 + 图片分类数据集
课程链接 1.读取图像分类数据集 import matplotlib.pyplot as plt import torch import torchvision from torch.utils import data from torchvision import transforms from d2l import torch as d2l d2l.use_svg_display() #读取数据集 transtransforms.ToTensor() mnist_…...
设计模式:24、访问者模式
目录 0、定义 1、访问者模式的五种角色 2、访问者模式的UML类图 3、示例代码 0、定义 表示一个作用于某对象结构中的各个元素的操作。它可以在不改变各个元素的类的前提下,定义作用于这些元素的新操作。 1、访问者模式的五种角色 抽象元素(Element…...
基于JAVA的旅游网站系统设计
摘要 随着信息技术和网络技术的迅速发展,人们的生活质量和观念也在发生着改变,各地争相发展旅游业,传统的 旅游社已经无法满足人们的需求,旅游网站将突破传统在时间和地域的限制,成为方便、快捷、安全、可靠的旅游 方…...
网络安全产品之认识防火墙
防火墙是一种网络安全产品,它设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间,通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,以此来…...
nginx反向代理(负载均衡)和tomcat介绍
nginx的代理 负载均衡 负载均衡的算法 负载均衡的架构 基于ip的七层代理 upstream模块要写在http模块中 七层代理的调用要写在location模块中 轮询 加权轮询 最小连接数 ip_Hash URL_HASH 基于域名的七层代理 配置主机 给其余客户机配置域名 给所有机器做域名映射 四层代理…...
Microsoft Azure 在线技术公开课:生成式 AI 基础知识
课程介绍 参加我们的生成式 AI 基础知识公开课,了解如何将最新 AI 进展应用到你的工作中。你将了解有关语言模型和生成式 AI 应用程序的基础知识。此外,你还将了解 Azure OpenAI 服务如何通过文本、代码、图像生成、自然语言摘要和语义搜索助你实现成果…...
lnmp+discuz论坛 附实验:搭建discuz论坛
Inmpdiscuz论坛 Inmp: t: linux操作系统 nr: nginx前端页面 me: mysql数据库 账号密码,等等都是保存在这个数据库里面 p: php——nginx擅长处理的是静态页面,页面登录账户,需要请求到数据库,通过php把动态请求转发到数据库 n…...
谷粒商城—分布式高级①.md
1. ELASTICSEARCH 1、安装elastic search dokcer中安装elastic search (1)下载ealastic search和kibana docker pull elasticsearch:7.6.2 docker pull kibana:7.6.2(2)配置 mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo "h…...
Unity开发配置不足,卡顿崩溃怎么办?
在游戏开发和虚拟现实等领域,Unity 软件以其强大的功能和广泛的适用性成为了众多开发者的首选。然而,要充分发挥 Unity 的性能,一台高性能的电脑设备是必不可少的。今天,我要向大家介绍川翔云电脑,它为 Unity 开发者提…...
在 Linux 上以 All-in-One 模式安装 kubernetes v1.22.12 kubesphere v3.4.1
KubeSphere4.1安装文档 在 Kubernetes 上快速安装 KubeSphere 在 Linux 上以 All-in-One 模式安装 kubernetes v1.22.12 kubesphere v3.4.1 官方文档:在 Linux 上以 All-in-One 模式安装 KubeSphere 下载文件 KubeKey git地址Releases kubesphere/kubekey 或 …...
网络安全自学是一项需要耐心和恒心的任务
网络安全自学是一项需要耐心和恒心的任务,但只要你按照正确的学习路线图去努力,就能够逐步掌握这一领域的知识和技能。下面是一份详细的学习路线图,它将帮助你从零基础开始,逐步成为网络安全领域的专家。 第一阶段:基…...
Python+OpenCV系列:图像的几何变换
Python OpenCV 系列:图像的几何变换 引言 在图像处理领域,几何变换是一个非常重要的操作,它可以改变图像的位置、大小、方向或形状。在计算机视觉中,这些操作对于图像预处理、特征提取和图像增强至关重要。本文将介绍如何利用 …...
第P1周:Pytorch实现mnist手写数字识别
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标 1. 实现pytorch环境配置 2. 实现mnist手写数字识别 3. 自己写几个数字识别试试具体实现 (一)环境 语言环境:Python…...
使用EventLog Analyzer进行Apache日志监控和日志分析
一、什么是Apache日志分析 Apache日志分析是网站管理和维护的重要部分,通过分析Apache服务器生成的日志文件,可以了解网站的访问情况、识别潜在的安全问题、优化网站性能等。 二、Apache日志类型 Apache日志主要有两种类型:访问日志&a…...
PaddleOCR模型ch_PP-OCRv3文本检测模型研究(二)颈部网络
上节研究了PaddleOCR文本检测v3模型的骨干网,本文接着研究其颈部网络。 文章目录 研究起点残注层颈部网络代码实验小结 研究起点 摘取开源yml配置文件,摘取网络架构Architecture中颈部网络的配置如下 Neck:name: RSEFPNout_channels: 96shortcut: True可…...
360极速浏览器不支持看PDF
360安全浏览器采用的是基于IE内核和Chrome内核的双核浏览器。360极速浏览器是源自Chromium开源项目的浏览器,不但完美融合了IE内核引擎,而且实现了双核引擎的无缝切换。因此在速度上,360极速浏览器的极速体验感更佳。 展示自己的时候要在有优…...
【深度学习】深刻理解ViT
ViT(Vision Transformer)是谷歌研究团队于2020年提出的一种新型图像识别模型,首次将Transformer架构成功应用于计算机视觉任务中。Transformer最初应用于自然语言处理(如BERT和GPT),而ViT展示了其在视觉任务…...
解决vue2中更新列表数据,页面dom没有重新渲染的问题
在 Vue 2 中,直接修改数组的某个项可能不会触发视图的更新。这是因为 Vue 不能检测到数组的索引变化或对象属性的直接赋值。为了确保 Vue 能够正确地响应数据变化,你可以使用以下几种方法: 1. 使用 Vue.set() 使用 Vue.set() 方法可以确保 …...
vscode通过ssh连接远程服务器(实习心得)
一、连接ssh服务器 1.打开Visual Studio Code,进入拓展市场(CtrlShiftX),下载拓展Remote - SSH 2. 点击远程资源管理器选项卡,并选择远程(隧道/SSH)类别 3. 点击ssh配置:输入你的账号主机ip地址 4.在弹出的选择配置文件中…...
知识图谱9:知识图谱的展示
1、知识图谱的展示有很多工具 Neo4j Browser - - - - 浏览器版本 Neo4j Desktop - - - - 桌面版本 graphX - - - - 可以集成到Neo4j Desktop Neo4j 提供的 Neo4j Bloom 是用户友好的可视化工具,适合非技术用户直观地浏览图数据。Cypher 是其核心查询语言&#x…...
leetcode 面试经典 150 题:验证回文串
链接验证回文串题序号125类型字符串解题方法双指针法难度简单 题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s…...
东莞市南华职业技术学校/seo推广系统排名榜
如果您想向用户提供正在进行某些操作的可视反馈(并且可能会对进度提供一些提示),请转到JProgressBar和SwingWorker(more details)。另一方面,如果您想要有一种情况,当用户单击按钮并且任务应该在后台运行时(当用户执行其他操作时),…...
珠海市网站建设的公司/制作网站代码
距离2018年高考还有不到一个月的时间了,很多人在准备最后冲刺的同时,也在关心高考成绩。2018各地区高考成绩排名查询,高考各高中成绩喜报榜单尚未公布,下面是往年各地区高考成绩排名查询,高考各高中成绩喜报榜单,想要了解同学可以…...
专门做企业名录的网站/西安优化排名推广
原标题:Unity编辑器中使用GitHub管理项目Git作为代码协作工具已帮助了成千上万的开发者,但对于游戏开发来说还是稍有不便。最近GitHub官方推出了GitHub for Unity扩展工具,该工具对程序员及设计师均适用,Unity游戏开发者可以更好地…...
做一网站要什么/幽默广告软文案例
很多人觉得Spring Security实现登录验证很难,我最开始学习的时候也这样觉得。因为我好久都没看懂我该怎么样将自己写的用于接收用户名密码的Controller与Spring Security结合使用,这是一个先入为主的误区。后来我搞懂了:根本不用你自己去写Co…...
小学学校网站设计模板/2024年最新时政热点
开源的数据库控制器 在开发中,我们经常会遇到上线数据库表的情况,代码上我们有git,svn这样优秀的版本控制软件,但是数据库的迭代我们不能使用手工的方式迭代吧?或者说每次上线前手工去数据库执行。这样带来的便捷性就会…...
网站的更新与维护/百度推广开户流程
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、功能二、安装并运行rviz1.安装rviz2.运行rviz三、界面介绍四、数据可视化原理及步骤1.原理2.步骤(1࿰…...