最近在cocos2dx 上要用把数据写成JSON格式,自己写了点东西.
unsigned long ilength;
string saveFileName = CCFileUtils::sharedFileUtils()->getWritablePath() +"userInfo.json";
char* cBuffer = (char *)CCFileUtils::sharedFileUtils()->getFileData(saveFileName.c_str(), "r", &ilength);
// 第一次没有数据,就先插入用户信息
if(!cBuffer)
{
CSJsonDictionary * csJsDi = new CSJsonDictionary();
CSJsonDictionary * csJsDi_UserData = new CSJsonDictionary();
//用户信息
csJsDi_UserData->insertItem("Address", "深圳");
csJsDi_UserData->insertItem("Phone",10086);
csJsDi->insertItem("UserInfoData", csJsDi_UserData);
string sUserInformation1 = csJsDi->getDescription();
ofstream f1(saveFileName.c_str());
if(f1)
{
f1<<sUserInformation1.c_str();
f1.close();
}
delete cBuffer;
char* cBuffer = (char *)CCFileUtils::sharedFileUtils()->getFileData(saveFileName.c_str(), "r", &ilength);
CCLOG("---------------");
CCLog("fileData1: \n %s",cBuffer);
delete cBuffer;
delete csJsDi;
delete csJsDi_UserData;
}
CCLOG输出如下:
fileData1:
{
"userInfoData":
{
"Address" : "深圳",
"Phone" : 10086
}
}