#include <iostream>
#include <errno.h>
#include "fstream"
#include "CocoStudio/Json/rapidjson/stringbuffer.h"
#include "CocoStudio/Json/rapidjson/writer.h"
//---------------------------------------------------------------------------------
void CElemDataMgr::WriteUserElem(int nUserElemId)
{
m_VecUserElem.push_back(nUserElemId);
Document Doc;
Doc.SetObject();
Value vElem;
vElem.SetArray();
int nSize = m_VecUserElem.size();
for (int i = 0; i <m_VecUserElem.size(); ++i)
{
Value vElemItem;
vElemItem.SetInt(m_VecUserElem);
vElem.PushBack(vElemItem, Doc.GetAllocator());
}
Doc.AddMember("Data", vElem, Doc.GetAllocator());
StringBuffer buffer;
Writer<StringBuffer>writer(buffer);
Doc.Accept(writer);
std::string strJson(buffer.GetString(), buffer.Size());
CCLOG("BioEvolve::CElemDataMgr:%s"姿族, strJson.c_str());
std::string filepath = (CCFileUtils::sharedFileUtils()->getWritablePath() + "UserElem.json");
std::ofstream outfile;
outfile.open(filepath.c_str());
if (outfile.fail())
{
return;
}
outfile <<strJson;
outfile.close();
}。
16或20字节。RapidJSON是一个C++的JSON解析器及生成器。它的灵感来自RapidXml
RapidJSON小而全。它同告碰时支持SAX和DOM风格的API。SAX解析尘陆器只有约500行代码
RapidJSON快。它的性能可与strlen()相比。可支持SSE2/SSE4.1加速
RapidJSON独立。它不依赖于BOOST等外部库。它甚至不依赖于STL
RapidJSON对内存友好。在大部分32/64位机器上,每个派友顷JSON值只占16或20字节(除字符串外)。它预设使用一个快速的内存分配器,令分析器可以紧凑地分配内存
RapidJSON对Unicode友好。它支持UTF-8、UTF-16、UTF-32(大端序/小端序),并内部支持这些编码的检测、校验及转码。例如,RapidJSON可以在分析一个UTF-8文件至DOM时,把当中的JSON字符串转码至UTF-16。它也支持代理对(surrogatepair)及"\\u0000"(空字符)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)