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

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

2014-05-28 12:53 309 查看


在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<kParseDefaultFlag>(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());  
           }  
             
 }


<span style="font-family: Arial, Helvetica, sans-serif;">这里是判断得到的Value是否是一个数组 v.size返回的是unsigned int 类型  </span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: