cocos2dx 2.2.2版本以上解析json ----rapidjson

cocos2dx 2.2.2版本以上解析json ----rapidjson_第1张图片

在cocos2dx2.2.2以上的版本 将解析json的类由原先的rapidjson  官方文档显示是效率要比原先的json的效率更高  在2.2.2版本以前解析json的确是一个很耗时的工作 在cocos2dx2.2.2以上版本 将所有功能封装在rapidjson中 又将最主要的功能封装在rapidjson中的document.h中  所以document的对象取代了Reader 对象


头文件的改动:

#include"cocos-ext.h"
USING_NS_CC_EXT;
using namespace rapidjson;

/读取一个json文件 并将其转换为Value  
void CCAnalysisJeson::ReadJson(const char * filename)  
{  
      
    unsigned long size;  
    const char* file=(char*)CCFileUtils::sharedFileUtils()->getFileData(filename,"r",&size);  
    CCLOG("%s",file);  
    doc.Parse(file);
    Value & v_playername=doc["palyername"];
    CCLOG("%s",v_playername.GetString)  
}  
if (v.IsArray()) 
{  
            
           for (unsigned int i = 0; i< v.Size(); ++i) 
          {  
                 
                const rapidjson::Value &val = v[i];  
               log("%s",val.GetString());  
           }  
             
 }


这里是判断得到的Value是否是一个数组 v.size返回的是unsigned int 类型  


你可能感兴趣的:(cocos2d-x游戏开发)