[{"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); } }
原文地址:https://www.jb51.cc/cocos2dx/343473.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。