Cocos2d-x教程——rapidJson使用方法

发表于2015-12-19
评论1 2.8k浏览

在Cocos2d-x-2.2.2的版本中,将Jsoncpp的库替换成了rapidJson,其主要原因是rapidJson的解析效率要高于Jsoncpp,今天我们来学习一下Cocos2d-x 中如何使用rapidJson进行Json解析。

在第15篇教程中我们学习了2.2.1版本中的Json解析方法,今天我们仍然采用第15篇教程中的Json文件对其进行解析,原教程地址:http://blog.csdn.net/u012945598/article/details/17416531

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的方法,在实际使用过程中还需要大家进行进一步的封装。看一下控制台输出结果:


结果无误,解析成功。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引