|||
一、为什么使用Jsoncpp
运筹优化领域的科研人员与工程实践人员最常用的编程语言之一就是c++。它的优势非常明显,就是执行效率高。我之前尝试过,相同的逻辑使用matlab和c++,两者的运行速度相差10~20倍左右。
但是c++在处理文件输入输出时没有matlab或者python那么简洁方便。大多数运筹优化的从业人员并非擅长于编程,因为我们绝大多数来自于应用数学系、工业工程系、管理科学系等。尤其是在写c++代码时,输入输出的编写会占用我们大量的宝贵时间,而我们其实只想把时间更多地花在问题的核心——建模、算法上。
所以为了更快地实现“输入输出部分”,本文介绍Jsoncpp供各位在工作学习中使用。
二、什么是Json和Jsoncpp
Json是JavaScript Object Notation的简称。具体的含义可以参考维基百科https://en.wikipedia.org/wiki/JSON。简单地说就是“key-value”类型的数据都可以用Json格式保存。举个例子,使用gurobi或者cplex时,有一些我们可调的与优化性能相关的参数,诸如:MIPGap等,又或者是设计元启发式算法时(比如遗传算法、禁忌搜索等)有很多参数需要我们调整。那么我们就可以用如下的格式表达:
{
“MIPGAP”: 0.001,
“GA_MutationRate”: 0.05,
“GA_CrossOverRate”: 0.2
}
这就是一个典型Json格式的数据。
Jsoncpp是C++解析Json格式的常用解析库之一。解析Json就仰仗它啦~~
三、Jsoncpp的安装及vs2010环境配置
Jsoncpp的最新下载地址:https://github.com/open-source-parsers/jsoncpp
步骤一、
进入地址,点击release后下载最新版