Cocos2d-x   发布时间:2022-05-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了cocos2d-x读取并解析json文件的方法[CSJson]大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

1.我们准备了一个json文件(test.json),在resource下面:

{
    "data": {
        "lastArea": {
            "areaId": 200,"label": 1,"name": "我是区服","state": 1
        },"topArea": {
            "areaId": 10,"label": 0,"@R_29_10586@l": 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]全部内容,希望文章能够帮你解决cocos2d-x读取并解析json文件的方法[CSJson]所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。