关于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
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

晴空飞一鹤

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值