网站建设使用的什么,云南网站建设费用,甘肃购物网站建设,网页怎么设计图片循环播放前提要点
json文件#xff0c;可通过键值的方式存储你所需要的数据#xff0c;斌且支持多种类型存储#xff0c;类似于一种结构化的数据库#xff0c;在读取json文件时可通过相对应的关键字精准获取。他是一种树状结构#xff0c;我们可以自己设定叶子的数量以及他所代表…前提要点
json文件可通过键值的方式存储你所需要的数据斌且支持多种类型存储类似于一种结构化的数据库在读取json文件时可通过相对应的关键字精准获取。他是一种树状结构我们可以自己设定叶子的数量以及他所代表的寓意指定每一个叶子的父亲以及父亲的父亲...... 本文福利莬费领取Qt开发学习资料包、技术视频内容包括Qt实战项目视频教程代码C语言基础C设计模式Qt编程入门QT信号与槽机制QT界面开发-图像绘制QT网络QT数据库编程QT项目实战QSSOpenCVQuick模块面试题等等↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓ 1. 首先获取地址 读取json文件
js
QFile file(QString::fromStdString(json));
bool bOpen file.open(QIODevice::ReadOnly);
if (bOpen false)
{
return item;
}
QByteArray data file.readAll();
file.close();
读取json文件 那一定要知道他的位置通过位置理由QFile库 将文件打开QIODevice::ReadOnly设置文件为仅读取模式如果设为可读可写在后面的处理数据中以防文件被中途修改。 2. 将数据转化为json可读
2.1、首先
js
QJsonDocument doc QJsonDocument::fromJson(data);//读写json文档
if (!doc.isObject())
{
return item;
}利用Qt自带库 获取json内容 QJsonDocument::fromJson(data) 判断是否为引用类型
2.2、显示关键字所对应的内容 QStringList keys obj.keys();
for(int i0;ikeys.size();i)
{
qDebug() key i is: keys.at(i);
}
此方法是通过关键字的位置来获取关键字的内容接下来将会使用另外一种方法利用关键字读取相对应的内容。 2.3、json文件读取的不同方式以及他的类型
第一种json格式
json文件 内容 {
optionA: aaa,
optionB: bbbb,
score: 3
}解析代码 QJsonObject obj doc.object();//封装json对象
item.content obj[content].toString().toStdString();
item.optionA obj[optionA].toString().toStdString();
item.optionB obj[optionB].toString().toStdString();
item.score obj[score].toInt();//int 类型 直接toint 不用转为字符串
以上实例可发现json主要是由关键字与所对应值构成斌给有其他别的类型可以直接解析。QJsonObject是封装一个json对象可通过这个对象使用以上方法来获取关键字的内容。
注[content]所对应的内容一定要是与json文件中的关键字相同否则解析成功
第二种json格式
json文件 内容 {
optionA: aaa,
optionB: bbbb,
score: 3
}解析代码 QJsonObject obj doc.object();//封装json对象
item.content obj[content].toString().toStdString();
item.optionA obj[optionA].toString().toStdString();
item.optionB obj[optionB].toString().toStdString();
item.score obj[score].toInt();//int 类型 直接toint 不用转为字符串
以上实例可发现json 主要是由关键字与所对应值构成斌给有其他别的类型可以直接解析。QJsonObject是封装一个json对象可通过这个对象使用以上方法来获取关键字的内容。 注[content]所对应的内容一定要是与json文件中的关键字相同否则解析成功
第二种json格式 json文件 内容 questinList: [{
optionA: aaa,
optionB: bbbb,
}, {
optionA: aaa,
optionB: bbbb,
}]
解析代码 QJsonArray questinlist root[questinlist].toArray();
for(int i 0; i questinlist.count(); i)
{
QJsonObject obj questinlist.at(i).toObject();
item.content obj[content].toString().toStdString();
item.optionA obj[optionA].toString().toStdString();
item.optionB obj[optionB].toString().toStdString();
data.questinList.push_back(item);
}
可通过json文件发现 questinList是一个list 它内部存储了许多的同样类型的数据组就像是一个妈妈与她的孩子们他的孩子们都拥有一样的基因就是他们都拥有一样的关键字但是每个人又有所不懂所以他们的关键字所对应的数据不一定全都一样。一个妈妈就是一个Array通过获取妈妈孩子的数量将每个孩子带出来然后转移到另一个存储他们的房子里。 本文福利莬费领取Qt开发学习资料包、技术视频内容包括Qt实战项目视频教程代码C语言基础C设计模式Qt编程入门QT信号与槽机制QT界面开发-图像绘制QT网络QT数据库编程QT项目实战QSSOpenCVQuick模块面试题等等↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓