首页 > 代码库 > cocos2d-x读取并解析json文件的方法[CSJson]
cocos2d-x读取并解析json文件的方法[CSJson]
1.我们准备了一个json文件(test.json),在resource下面:
{ "data": { "lastArea": { "areaId": 200, "label": 1, "name": "我是区服", "state": 1 }, "topArea": { "areaId": 10, "label": 0, "name": "我是区服", "state": 1 }, "total": 2 }, "rc": 0 }
2.我们在onEnter函数中加入如下代码
const char *des = NULL; std::string jsonpath; cs::CSJsonDictionary *jsonDict = NULL; jsonpath = CCFileUtils::sharedFileUtils()->fullPathForFilename("test.json"); unsigned long size = 0; des = (char*)(CCFileUtils::sharedFileUtils()->getFileData(jsonpath.c_str(),"r" , &size)); if(NULL == des || strcmp(des, "") == 0) { printf("read json file[%s] error!\n", "test.json"); } CSJson::Reader cReader; CSJson::Value value; if(!cReader.parse(std::string(des), value, false)) {CCLog("%s", cReader.getFormattedErrorMessages().data());}这样,我们的value对象中就存储到了json里面的数据。我们则可以取里面的数据。取法如下
CCLog("areadId:%d, label:%d, name:%s, state:%d", value["data"]["lastArea"]["areaId"].asInt(), value["data"]["lastArea"]["label"].asInt(), value["data"]["lastArea"]["name"].asCString(), value["data"]["lastArea"]["state"].asInt());
cocos2d-x读取并解析json文件的方法[CSJson]
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。