关于QJsonObject用法的思考

文章目录


    在使用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();

    写了那么多年的代码,一开始很开心能写出那么多代码。
    但是到现在,每次发现代码写的较多,就赶紧想着简化,简化,再简化。
    简化是不易的,需要大量的知识储备。大道至简是真,博大精深也是真。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值