您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx3.4 保存json文件

2015-02-09 14:15 363 查看
头文件:

#include "json/document.h"
#include "json/stringbuffer.h"
#include "json/writer.h"


代码:

void UserManage::SaveUserToFile()
{
do
{
CC_BREAK_IF(_userMap.size()==0);

rapidjson::Document doc;
doc.SetObject();
rapidjson::Document::AllocatorType& allocator=doc.GetAllocator();
rapidjson::Value uList(rapidjson::kArrayType);

UserMap::iterator it;
for(it=_userMap.begin();it!=_userMap.end();it++)
{
User *pUser=it->second;
if (pUser)
{
rapidjson::Value uValue(rapidjson::kObjectType);
uValue.AddMember("UserId",pUser->_userId,allocator);
uValue.AddMember("AccountName",pUser->_accountName.c_str(),allocator);
uValue.AddMember("Password",pUser->_password.c_str(),allocator);
uValue.AddMember("RegisterTime",pUser->_registerTime,allocator);
uValue.AddMember("VipMoney",pUser->_vipMoney,allocator);
uValue.AddMember("VipLevel",pUser->_vipLevel,allocator);
uValue.AddMember("RoleId",pUser->_roleId,allocator);

uList.PushBack(uValue,allocator);
}
}
rapidjson::StringBuffer buff;
rapidjson::Writer<rapidjson::StringBuffer> writer(buff);
doc.Accept(writer);

FILE* pFile=fopen(_userCfgPath.c_str(),"wb");
if (pFile)
{
fputs(buff.GetString(),pFile);
fclose(pFile);
}else
{
CCLOG("UserManage::SaveUserToFile error! can not open %s",_userCfgPath.c_str());
}

} while (0);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: