Cocos2d-3.x_读取json文件
发布时间:2020-12-14 21:04:08 所属栏目:百科 来源:网络整理
导读:测试的data.json文件的内容如下: [{"name":"zhangsan","age":20},{"name":"lisi","age":30}] #ifndef __HELLOWORLD_SCENE_H__#define __HELLOWORLD_SCENE_H__#include "cocos2d.h"USING_NS_CC;class HelloWorld : public cocos2d::Layer{public: static coc
测试的data.json文件的内容如下: [{"name":"zhangsan","age":20},{"name":"lisi","age":30}] #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" USING_NS_CC; class HelloWorld : public cocos2d::Layer { public: static cocos2d::Scene* createScene(); virtual bool init(); void readJsonByCocosAPI(); CREATE_FUNC(HelloWorld); private: LabelTTF *pLabel; }; #endif // __HELLOWORLD_SCENE_H__ #include "HelloWorldScene.h" #include "json/document.h" Scene* HelloWorld::createScene() { auto scene = Scene::create(); auto layer = HelloWorld::create(); scene->addChild(layer); return scene; } bool HelloWorld::init() { if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); pLabel = LabelTTF::create("","Arial",30); pLabel->setPosition(visibleSize/2.0); this->addChild(pLabel); this->readJsonByCocosAPI(); return true; } void HelloWorld::readJsonByCocosAPI() { rapidjson::Document doc; doc.Parse<0>(FileUtils::getInstance()->getStringFromFile("data.json").c_str()); // 获得第一个对象的name和age的属性 int index = 0; const char *ch = doc[index]["name"].GetString(); int iage = doc[index]["age"].GetInt(); std::ostringstream str; str << "name:"; str << ch; str << ","; str << "age:"; str << iage; pLabel->setString(str.str()); // 遍历json数组 for (int i = 0; i < doc.Size(); i ++) { const char *name= doc[i]["name"].GetString(); int age = doc[i]["age"].GetInt(); log("name:%s,age:%d",name,age); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |