ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:47KB ,
资源ID:6842215      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/6842215.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(黑马程序员C语言教程CC++培训专家教你快速搞定Qt下的Json文件使用.doc)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

黑马程序员C语言教程CC++培训专家教你快速搞定Qt下的Json文件使用.doc

1、黑马程序员C语言教程CC++培训专家教你快速搞定Qt下的Json文件使用 资料仅供参考 传智播客C/C++培训专家:教你快速搞定Qt下的Json文件使用 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。JSON 解析器和 JSON 库支持许多不同的编程语言,当前非常多的编程语言都支持JSON。接下来传智播客C/C++培训专家为大家介绍一下Qt下的Json的使用。 Json的两种结构 JSON有两种表示结构,对象和数组。 l 对象结构以”{”大括号开始,以”}

2、大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码。 { key1:value1, key2:value2, ... } 其中关键字是字符串,而值能够是字符串,数值,true,false,null,对象或数组。 l 数组结构以”[”开始,”]”结束。中间由0或多个以”,”分隔的值列表组成,语法结构如代码。 [ true, 123, “hello,world” ] 数组中的元素值类型能够相同也可不同。 Json格式的文件在使用的时候是十分灵活的,其

3、中数组和对象之间也是能够相互嵌套的,大家能够按照自己的实际需求来定义成对应的格式。例如: [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName": "Jones" } ] Qt5中JSON的生成与解析 Qt5 新增加了处理 JSON 的类,与 XML 类库类似,均以 QJson 开头,在 QtCore 模块中,不需要额外引入其它模块。Qt5 新增加六个相关类: 类 类说明

4、 QJsonDocument 读写 JSON 文档 QJsonObject 封装 JSON 对象 QJsonArray 封装 JSON 数组 QJsonValue 封装JSON 值 QJsonObject::iterator 用于遍历 QJsonObject 的 STL 风格的非 const 遍历器 QJsonParseError 报告 JSON 处理过程中出现的错误 需要大家着重掌握的类为前四个。 QJsonDocument 该Json文档类主要是把json格式的数据解析为Qt中的Json文档对象,所有我们在使用该类之前,需要先把数据准备好: ] 解析Json

5、 1. 使用QFile对象加载指定的Json格式文件 a) QFile file(”D:\\myjson.json”); b) file.open(QIODevice::ReadWrite); 2. 经过QFile类中的read方法将文件数据读到内存 a) QByteArray json = file. readAll(); 3. QJsonDocument::fromJson() 能够由 QByteArray 对象构造一QJsonDocument 对象,用于我们的读写操作 a) QJsonDocument jsDoc; b) jsDoc = QJsonDocument::fro

6、mJson(json.toUtf8()); QJsonObject ] 生成json对象 因为json对象为键值对,因此我们能够使用QJsonObject类的insert方法,向该类对象中插入数据。 1. 创立空的QJsonObject对象 a) QJsonObject obj; 2. 使用insert方法向空对象中插入数据 a) obj.insert(“name”, “Jack”); b) obj.insert(“age”, 26); c) obj.insert(“isboy”, true); ] 解析json对象 1. 首先需要先得到一个QJsonDocument对象

7、然后判断该对象是否是一个json对象,使用isObject()方法 2. 使用QJsonDocument类的object()方法能够将json文档对象转换为Json对象。 3. 能够经过QJsonObject对象的key值得到其value值,访问方式为QJsonValue value = obj[key] 4. 使用QJsonValue类的成员方法将value值转换为实际的数据类型。 QJsonDocument parse_doucment; parse_doucment = QJsonDocument::fromJson(byte_array); if(parse_doucm

8、ent.isObject()) { QJsonObject obj = parse_doucment.object(); if(obj.contains("name")) { QJsonValue name_value = obj["name"]; if(name_value.isString()) { QString name = name_value.toString(); } } QJsonArray ] 生成Json 1. 创立Json数组: a) QJso

9、nArray json; 2. 使用QJsonArray类的insert方法插入数据: a) json.insert(0, QString("Qt")); b) json.insert(1, QString("version")); c) json.insert(2, true); 3. 创立Json文档对象: a) QJsonDocument document; 4. 将初始化完成的json数组对象设置给Json文档对象 a) document.setArray(json); 5. 将json文档对象转换为QByteArray对象 a) QByteArray byte_a

10、rray = document.toJson(); 生成的文件格式:["Qt","version",true] ] 解析Json 1. 首先需要先得到一个QJsonDocument对象,然后判断该对象是否是一个json数组,使用isArray()方法。 2. 使用QJsonDocument类的array()方法能够将json文档对象转换为Json对象。 3. 能够经过QJsonArray对象遍历得到其中的每个value值,访问方式与遍历普通数组的方式相同。 4. 使用QJsonValue类的成员方法将value值转换为实际的数据类型。 QJsonDocument parse_do

11、ucment; parse_doucment = QJsonDocument::fromJson(byte_array); if(parse_doucment.isArray()) { QJsonArray array = parse_doucment.array(); int size = array.size(); for(int i=0; i

12、toString(); } else if(value.isBool()) { bool flag = value.toBool(); } } } QJsonValue 在使用json对象或json数组对象得到对应的value之后,该value值并不是最终的数据类型而是一个QJsonValue类型的属性,我们必须经过该对象判断该类型的实际类型,然后在将其转换为对应的数据类型: ] 类型判断相关的成员方法: n bool isArray() const // 是否为json数组 n bool isBool() const // 是

13、否为布尔类型 n bool isDouble() const // 是否为浮点类型 n bool isNull() const // 是否为空 n bool isObject() const // 是否为json对象 n bool isString() const // 是否为字符串类型 ] 数据类型转换相关成员方法: n QJsonArray toArray(const QJsonArray &defaultValue) const n QJsonArray toArray() const // 转为为json数组 n bool toBool(bool de

14、faultValue = false) const // to布尔类型 n double toDouble(double defaultValue = 0) const n int toInt(int defaultValue = 0) const n QJsonObject toObject(const QJsonObject &defaultValue) const n QJsonObject toObject() const // 转换为json对象 n QString toString(const QString &defaultValue = QString()

15、) const 生成Json 1. 创立JsonObject对象或数组(再次以对象举例) a) QJsonObject json; 2. 往json对象中添加键值对 a) json.insert("name", QString("Qt")); b) json.insert("version", 5); c) json.insert("windows", true); 3. 创立Json文档对象 a) QJsonDocument document; 4. 将Json对象或数组设置给json文档对象 a) document.setObject(json); // 数组:setArray(array) 5. 将文档对象转换为QByteArray类型的数据 a) QByteArray byte_array = document.toJson(); 6. 将该数据经过QFile对象保存为磁盘文件。 最终格式:{"name": "Qt","version": 5,"windows": true} 好了,今天的的知识点,传智播客C/C++培训专家就给大家分享到这里,希望大家多多练习,祝大家学习愉快!

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服