Rapidjson的简单使用示例
很早就想用用Markdown了,一直没机会。今天就来试一下
先放个目录:
rapidjson官方教程
如果要想深入学习rapidjson工具,官方文档肯定是必须看一看的。官方教程里面的讲解才是最详细,最权威的了。
本示例所用环境
- 引擎版本:cocos2d-x 3.10
示例代码与注释
说明:我是直接使用原版引擎创建了新的cocos2dx工程,然后略微修改了HelloWorldScene.cpp中的代码。为了方便,使用rapidjson生成json串、保存json串到文件、从文件读取json串、使用rapidjson解析json串的过程,全部写到了initSelf()函数中。
本身很反感blog全篇粘代码的方式(关键贴的代码谁都看不懂,一行注释没有),但是这部分代码示例没有什么可说的,所以在重点部分写了注释。
HelloWorldScene.h文件内容
#include "cocos2d.h"
class HelloWorld : public cocos2d::Layer
{
public:
static cocos2d::Scene* createScene();
virtual bool init();
CREATE_FUNC(HelloWorld);
private:
void initSelf();
};
HelloWorldScene.cpp文件内容
#include "HelloWorldScene.h"
#include "json/rapidjson.h"
#include "json/document.h"
#include "json/filestream.h"
#include "json/stringbuffer.h"
#include "json/writer.h"
USING_NS_CC;
Scene* HelloWorld::createScene()
{
auto scene = Scene::create();
auto layer = HelloWorld::create();
scene->addChild(layer);
return scene;
}
bool HelloWorld::init()
{
if ( !Layer::init() )
{
return false;
}
else {
this->initSelf();
return true;
}
}
//重点
void HelloWorld::initSelf()
{
//生成一串如下的json格式字符串,并解析
// {
// "name":"qfl",
// "age":20,
// "let