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

互联网建站公司有哪些网站建设 中企动力板材生态板

互联网建站公司有哪些,网站建设 中企动力板材生态板,做电商要不要公司网站,中国建设银行网站的社保板块在哪里文章目录概要:本期主要介绍Qt解析JSON数据格式文件的方式。一、JSON数据格式1.JSON类似于XML,在JSON文件中,有且只有一个根节点2.JSON有两种主流包含型构造字符:{对象}、[数组]3.JSON的值主要包括:对象、数组、数字、字…

文章目录

    • 概要:本期主要介绍Qt解析JSON数据格式文件的方式。
    • 一、JSON数据格式
      • 1.JSON类似于XML,在JSON文件中,==有且只有一个根节点
      • 2.JSON有两种主流包含型构造字符:{对象}、[数组]
      • 3.JSON的值主要包括:对象、数组、数字、字符串以及三种字面值(ture、fasle、null)
      • 4.JOSN中的对象和数组是可以互相作为对方的子元素,形成复杂的嵌套结构,可以表达出完整的流程。
    • 二、Qt中对于JSON数据格式的处理
      • 1.QJsonDocument
      • 2.QJsonObject
      • 3.QJsonArray
      • 4.QJsonValue
    • 三、Qt解析JSON数据格式
      • 简述实现步骤:
        • 1.将json文件转为QJsonDocument对象
        • 2.通过isObject或者isArray来获取QJsonObejct对象或者QJsonArray对象
        • 3.QJsonObject对象类似map容器,通过键值对存储。可以通过获取所有key,遍历获取所有值.值的类型是QJsonValue,可以转成对象、数组、数字、字符串、布尔。
        • 4.QJsonArray对象类似数组,可以直接通过下标访问,值的类型是QJsonValue,可以转成对象、数组、数字、字符串、布尔。
    • 结尾

概要:本期主要介绍Qt解析JSON数据格式文件的方式。

一、JSON数据格式

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写,可以在多种语言之间进行数据交换。同时也易于机器解析和生成。相对于Xml数据格式,有更好的可读性,并且在网络传输中有更好的传输效率

1.JSON类似于XML,在JSON文件中,==有且只有一个根节点

2.JSON有两种主流包含型构造字符:{对象}、[数组]

3.JSON的值主要包括:对象、数组、数字、字符串以及三种字面值(ture、fasle、null)

4.JOSN中的对象和数组是可以互相作为对方的子元素,形成复杂的嵌套结构,可以表达出完整的流程。

二、Qt中对于JSON数据格式的处理

Qt5之后,新增了对JSON数据格式的解析类:QJsonDocument、QJsonObject、QJsonArrary、QJsonValue
在这里插入图片描述

1.QJsonDocument

JSON文档类。
JsonFormat
{
“Array”: [
true,
999,
“string”
],
“Key”: “Value”,
“null”: null
}

2.QJsonObject

JSON的对象类,由键值对组成,也就是QString和QJsonValue组成。

3.QJsonArray

JSON的数组类,由一系列的JSON的值(QJsonValue)组成

4.QJsonValue

JSON的值。可以是bool、数字、字符串、数组、对象。

三、Qt解析JSON数据格式

这里仅解析简单的不含嵌套结构的json文件,因为json文件和xml文件一样,如果不知道其内部的构造结构,解析出来比较麻烦,但是,如果你清楚其内部结构,就可以通过下述解析方法,轻松地解析出想要的数据。

简述实现步骤:

1.将json文件转为QJsonDocument对象

2.通过isObject或者isArray来获取QJsonObejct对象或者QJsonArray对象

3.QJsonObject对象类似map容器,通过键值对存储。可以通过获取所有key,遍历获取所有值.值的类型是QJsonValue,可以转成对象、数组、数字、字符串、布尔。

4.QJsonArray对象类似数组,可以直接通过下标访问,值的类型是QJsonValue,可以转成对象、数组、数字、字符串、布尔。

QVector<QString> JsonOperate::ParseJsonFile(QString _path)
{QVector<QString> _vec ;_vec.clear();QDir _dir(_path);QFile _file(_dir.absoluteFilePath(_path));//创建文件对象if(!_file.exists()){qDebug()<<QString::fromLocal8Bit("不存在该文件!")<<endl;return _vec;}if(!_file.open(QIODevice::ReadOnly)){qDebug()<<QString::fromLocal8Bit("文件打开失败!")<<endl;return _vec;}QByteArray _byte = _file.readAll();QJsonParseError _error;QJsonDocument _doc = QJsonDocument::fromJson(_byte,&_error);//将json文件中的内容转成json文件对象_file.close();//开始解析QJsonObject _obt;QJsonArray _array;if(_doc.isObject())//根节点是json对象{_obt = _doc.object();//获取对应json对象QStringList _keys = _obt.keys();for(int i = 0;i < _keys.count();i ++)//将每个键值对组成 kes : value 的字符串格式{QString _tempStr = _keys.at(i);_tempStr += ":";_tempStr += _obt.value(_keys[i]).toString();_vec.push_back(_tempStr);}}else{_array = _doc.array();//获取对应json数组for(int i = 0;i < _array.count();i ++){QString _tempStr = _array.at(i).toString();_vec.push_back(_tempStr);}}return _vec;
}

结尾

上面的解析方式仅适用于Qt5,如果是只使用C++的话,可以使用GitHub上jsoncpp库来解析JSON文件,用法也很简单:)

http://www.yayakq.cn/news/105964/

相关文章:

  • 服务器网站目录哪里可以发广告
  • 昆明企业网站的建设手工制作头饰
  • 嘉兴论坛网站建设在线阅读 wordpress主题
  • 阳江房地产信息网官方网站西安搬家公司招聘
  • 360全景网站制作青岛市建设工程管理信息网
  • python做网站性能怎么样个人网站备案要什么
  • 手机就可以直接做设计的网站公司网站建设安全的风险
  • 涡阳网站建设seo诊断方法步骤
  • 网站首页标题怎么写电脑建网站
  • 北航做网站公司长春百度关键词优化
  • 全国企业信息官网网站景区微网站建设费用
  • 广东省建设工程监督站官方网站物联网设计方案
  • 网站建设心得体会及总结搜索引擎优化英文
  • 中英网站建立网站建设在哪里办公
  • 网站建设基础教程视频什么是网络营销的tgi值
  • 深圳分销网站建设网站用哪些系统做的好
  • 网站用户后台是怎么做的网站建设分析图
  • 可以做分销的淘客网站各大网站官网的导航栏怎么做
  • 免费好用的网站建站公司是外包吗
  • 国外空间网站源码商丘睢阳区市政建设局网站
  • 手机版网站深紫色网站
  • 网站策划制作公司德阳市网站建设
  • 好看网站传统网站布局
  • 免费的开源网站哪个酒店网站做的好看的
  • 南京建企业网站哪家好网站类型分类有哪些
  • 超云seo优化重庆网站优化公司哪家便宜
  • 广州网站建设外贸wordpress 菜单 链接地址
  • 导航网站链接怎么做现代农业建设 乡网站
  • 网站服务器地址查询html静态网页模板下载
  • 适合当手机主页的网站在阿里巴巴网站上怎么做贸易