文章目录
????在使用Qt的开发过程中,总会用到json格式文件作为配置文件。在很长一段时间,我在解析这种配置文件的时候,直接就是从最外层解析到最里层,每次解析的代码都让我感觉头大。
????当时也有想过难道就没有其它方式可以使用,也就是仅仅从脑海中掠过,不再作数了。直到最近看别人的代码,发现解析的过程简单明晰,特别惭愧自己的“海量代码”,故记之。
????其实方法也简单,就是把用到的数据以QMap的形式存储。具体使用QVariantMap还是QVariantList,可以根据自己的数据类型进行选择。
????演示一下读取配置文件的简化代码:
QDir _dir(QApplication::applicationDirPath());
_dir.cdUp();
if (!_dir.cd("config"))
{
_dir.mkdir("config");
_dir.cd("config");
}
QVariantMap _map;
QFile _file(_dir.absoluteFilePath("MyConfig.json"));
if (_file.open(QIODevice::ReadOnly))
{
QJsonDocument _doc = QJsonDocument::fromJson(_file.readAll());
_map = _doc.object().toVariantMap();
}
QVariantMap m_defultData = _map.value("MyData").toMap();
????写了那么多年的代码,一开始很开心能写出那么多代码。 ????但是到现在,每次发现代码写的较多,就赶紧想着简化,简化,再简化。 ????简化是不易的,需要大量的知识储备。大道至简是真,博大精深也是真。
|