本文承接自前文:http://blog.csdn.net/yuxikuo_1/article/details/39155335
1、JsonMake类
//.h
#include "cocos2d.h"
#include "../cocos2d/external/json/document.h"
#include "../cocos2d/external/json/writer.h"
#include "../cocos2d/external/json/stringbuffer.h"
USING_NS_CC;
using namespace rapidjson;
class JsonMake : public Ref
{
public:
CREATE_FUNC(JsonMake);
virtual bool init();
std::string getJsonMyBaodanMain();
};
//.cpp
#include "JsonMake.h"
bool JsonMake::init()
{
bool bRet = false;
do{
bRet = true;
}while(0);
return bRet;
}
std::string JsonMake::getJsonMyBaodanMain()
{
rapidjson::Document document;
document.SetObject();
rapidjson::Document::AllocatorType& allocator = document.GetAllocator();
rapidjson::Value object1(rapidjson::kObjectType);
rapidjson::Value object2(rapidjson::kObjectType);
rapidjson::Value object3(rapidjson::kObjectType);
rapidjson::Value object4(rapidjson::kArrayType);
object1.AddMember("Name", "Yuxikuo", allocator);
object1.AddMember("Age", "18", allocator);
object1.AddMember("Sex", "man", allocator);
object2.AddMember("Name", "WangDongGe", allocator);
object2.AddMember("Age", "32", allocator);
object2.AddMember("Sex", "woman", allocator);
object3.AddMember("Name", "zhanhong", allocator);
object3.AddMember("Age", "20", allocator);
object3.AddMember("Sex", "man", allocator);
object4.PushBack(object1,allocator);
object4.PushBack(object2,allocator);
object4.PushBack(object3,allocator);
document.AddMember("info", object4, allocator);
StringBuffer buffer;
rapidjson::Writer<StringBuffer> writer(buffer);
document.Accept(writer);
log("%s",buffer.GetString());
return StringUtils::format("%s",buffer.GetString());
}
2、使用方法
将生成的json文件保存的本地
auto path = FileUtils::getInstance()->getWritablePath();
log("path = %s",path.c_str());
path.append("myBaodanMain.json");
FILE* fp = std::fopen(path.c_str(), "at+");
CCASSERT(fp != NULL, "file open error");
auto jsonMake = JsonMake::create();
auto str = jsonMake->getJsonMyBaodanMain();
auto length = str.length();
fwrite(str.c_str(), length, 1 ,fp);
fclose(fp);
3、结果
//json
{"info":[{"Name":"Yuxikuo","Age":"18","Sex":"man"},{"Name":"WangDongGe","Age":"32","Sex":"woman"},{"Name":"zhanhong","Age":"20","Sex":"man"}]}
//json
{"info":[{"Name":"Yuxikuo","Age":"18","Sex":"man"},{"Name":"WangDongGe","Age":"32","Sex":"woman"},{"Name":"zhanhong","Age":"20","Sex":"man"}]}