测试的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); }}总结
以上是内存溢出为你收集整理的Cocos2d-3.x_读取json文件全部内容,希望文章能够帮你解决Cocos2d-3.x_读取json文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)