cocostudio解析json

我记得cocostudio里带一个解析json的东西,一时找不到了,求一段加载解析json的例子代码

以前用的是libjson,现在用rapidjson,本来想要模仿使用,但rapidjson并不适用于业务逻辑,禁止了拷贝构造函数,很多地方受到限制非常蛋疼,建议重新用libjson吧,反正我重新去下载了个jsoncpp用来处理

这块建议使用自己熟悉的json解析库,并不一定要用cocos2d-x自带的json解析库。cocos2d-x自带的解析库主要是为了解析cocostudio导出数据,如果您对这个库不习惯完全可以使用自己熟悉的库,在未来这个库可能会被移除。

我有使用框架集成的rapidJson 成功读取本地json的代码。。。

bool JsonAnalyzer::getJsonFromFile(const char* fileName, rapidjson::Document &jsonDict){

unsigned char *pBytes = NULL;
std::string jsonpath;

jsonpath = CCFileUtils::sharedFileUtils()->fullPathForFilename(fileName);
unsigned long size = 0;
pBytes = CCFileUtils::sharedFileUtils()->getFileData(jsonpath.c_str(),"r" , &size);
if(NULL == pBytes || strcmp((const char*)pBytes, "") == 0)
{
    printf("read json file%s] error!\n", fileName);
    return false;
}
CCData *data = new CCData(pBytes, size);
std::string load_str = std::string((const char *)data->getBytes(), data->getSize() );
CC_SAFE_DELETE(data);
jsonDict.Parse<0>(load_str.c_str());
if (jsonDict.HasParseError())
{
    CCLOG("GetParseError %s\n",jsonDict.GetParseError());
    return false;
}

return true;

}

使用的话

rapidjson::Document rapidJsonData;
JsonAnalyzer::getJsonFromFile(“global/properties_cn.json”, rapidJsonData);

使用的话配合框架中的DICTOOL使用
不过版主也说了 以后很大几率就会舍弃rapidJson的…