转载自:http://blog.csdn.net/u012945598/article/details/22608599
在Cocos2d-x-2.2.2的版本中,将Jsoncpp的库替换成了rapidJson,其主要原因是rapidJson的解析效率要高于Jsoncpp,今天我们来学习一下Cocos2d-x 中如何使用rapidJson进行Json解析。
在第15篇教程中我们学习了2.2.1版本中的Json解析方法,今天我们仍然采用第15篇教程中的Json文件对其进行解析,原教程地址:http://www.jb51.cc/article/p-csqhjqnj-bcr.html
Json文件中数据如下:
{
"Tollgate": [
{
"Type1": {
"RefreshTime":0.5,
"Count":100
},
"Type2": {
"RefreshTime":5,
"Count":2
}
},
{
"Type1": {
"RefreshTime":1,
"Count":120
},
"Type2": {
"RefreshTime":10,
"Count":2
}
}
]
}
这是一个很简单的关卡配置信息。其中“Tollgate”键对应的value是一个数组,数组中又含有两个table,每个table中又包含了两个键值对,每个Type键对应一个table,我们接下来要做的,就是解析中数组中第一个Table中Type1键所对应table的RefreshTime键的value。下面看代码,rapidJson位于extension库的CocoStudio文件下,想要使用rapidJson,首先要引入头文件及命名空间:
下面我们直接在init()方法中进行Json解析,首先看一下上图的左侧目录,rapidJson下有一个document.h的文件,rapidJson解析的相关方法都位于document类中,这点与之前的Jsoncpp的使用是有些差异的
。
这里我们只是讲解了其简单的获取value的方法,在实际使用过程中还需要大家进行进一步的封装。看一下控制台输出结果:
结果无误,解析成功。