#include "json/rapidjson.h" #include "json/document.h"别忘了导入头文件>>>>>>>>>>>属性方式的json的读取>>>>>>>>>>>String filename = "testdata.json"; rapidjson::Document doc; //判断文件是否存在 if (!FileUtils::getInstance()->isFileExist(filename.getCString())) { log("json file is not find [%s]", filename); return false; } //读取文件数据,初始化doc std::string data = FileUtils::getInstance()->getStringFromFile(filename.getCString()); doc.Parse<rapidjson::kParseDefaultFlags>(data.c_str()); //判断读取成功与否 和 是否为数组类型 if (doc.HasParseError() || !doc.IsArray()) { log("get json data err!"); return false; } for (unsigned int i = 0; i<doc.Size(); i) { //逐个提取数组元素(声明的变量必须为引用) rapidjson::Value &v = doc[i]; String name;//名称 int age;//血量 String sex;//防御力 //判断各属性是否存在(可以支持中文(UTF8式)) if (v.HasMember("name") && v.HasMember("age") && v.HasMember("sex")) { //按属性提取数据 name = v["name"].GetString(); age = v["age"].GetInt(); sex = v["sex"].GetString(); log("ID:%d,名称:%s,血量:%s", age, name.getCString(), sex.getCString()); } } return true;>>>>>>>>>>>对象方式的json的读取>>>>>>>>>>> String filename = "testdata.json"; rapidjson::Document doc; //判断文件是否存在 if (!FileUtils::getInstance()->isFileExist(filename.getCString())) { log("json file is not find [%s]", filename); return false; } //读取文件数据,初始化doc std::string data = FileUtils::getInstance()->getStringFromFile(filename.getCString()); doc.Parse<rapidjson::kParseDefaultFlags>(data.c_str()); //判断读取成功与否 和 是否为数组类型 if (doc.HasParseError() || !doc.IsArray()) { log("get json data err!"); return false; } //从第2行开始,因为第一行是属性 for (unsigned int i = 1; i<doc.Size(); i) { //逐个提取数组元素(声明的变量必须为引用) rapidjson::Value &v = doc[i]; String name;//名称 int age;//血量 String sex;//防御力 //按下标提取 int a = 0; name = v[a].GetString(); age = v[a].GetInt(); sex = v[a].GetString(); log("age:%d,name:%s,sex:%s", age, name.getCString(), sex.getCString()); } return true;
推荐整理分享cocos2dx 3.x关于json数据的解析(转)(cocos2dx schedule),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:cocos jsc,cocos creator js ts,cocos2d-js-min.js,cocos2d-js-min.js,cocos2d-js-min.js,cocos2dx-js,cocos2dx-js,cocos jsc,内容如对您有帮助,希望把文章链接给更多的朋友!
eclipse cocos2dx Command line too long eclipsecocos2dx总是编译,然后运行不起来。看了下控制台的编译结果出现:::****Clean-onlybuildofconfigurationDefaultforprojectMagicQuiz****delClasses/AppDelegate.o........
解决在ios8中, cocos2dx 2.x版本里CCClippingNode没有效果的问题 这个问题今天纠结了一天,TestCpp里没有问题,自己写的DEMO却一直报Stencilbufferisnotenabled。最后找到了暂时的解决方法。在AppController.mm里添加[__glViewlayoutS
cocos2dx Excel表格数据通过csv保存到数据库sqlite 最近需要策划给些数据调试,用Excel比较方便,然后再转换到数据库里程序使用1,首先创建好表,第一行,每列对应数据库中表名,写好数据后,另存