当前位置: 首页>>代码示例>>C++>>正文


C++ JSONNode::NodeAt方法代码示例

本文整理汇总了C++中JSONNode::NodeAt方法的典型用法代码示例。如果您正苦于以下问题:C++ JSONNode::NodeAt方法的具体用法?C++ JSONNode::NodeAt怎么用?C++ JSONNode::NodeAt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在JSONNode的用法示例。


在下文中一共展示了JSONNode::NodeAt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: parse

		void LocalHighscores::parse() {
			ARK2D::getLog()->v("Parsing LocalHighscores");

			string s;
			#if defined(ARK2D_ANDROID)  
				if (m_threaded && m_data != NULL) { 
					s = string((char*) m_data);
				} else if (StringUtil::file_exists(m_filename.c_str())) {
					s = StringUtil::file_get_contents(m_filename.c_str());
				} else {
					s = string((char*) m_data);
				}
			#else

				if (m_data != NULL) {
					s = string((char*) m_data);
				} else {
					s = StringUtil::file_get_contents(m_filename.c_str());
				}

			#endif
			ARK2D::getLog()->v(StringUtil::append("JSON String is: ", s));

			if (s.length() == 0) {
				ARK2D::getLog()->e("JSON String was empty. Huh?");
				return;
			} 

			if (s == "[]") { 
				ARK2D::getLog()->v("Local highscores were blank. That's fine. ");
			} else {
	 
				JSONNode* arr = libJSON::Parse(s);
				if (arr == NULL) {
					ARK2D::getLog()->e("Could not parse json");
					return;
				}
				for(unsigned int i = 0; i < arr->NodeSize(); i++) { 
					JSONNode* item = arr->NodeAt(i);

					LocalHighscoreItem* it = new LocalHighscoreItem();
					it->name = item->GetNode("name")->NodeAsString();
					it->score = item->GetNode("score")->NodeAsInt();
	 
					//StringUtil::str_replace("\"", "\\\"", it->name); 

					m_items.push_back(it);
				}
				ARK2D::getLog()->i("loaded local highscores");

				// fix memory leaks
				ARK2D::getLog()->i("Freeing up memory.");
				libJSON::Delete(arr);

			}

			this->sort();
		}
开发者ID:ashleygwinnell,项目名称:ark2d,代码行数:58,代码来源:LocalHighscores.cpp


注:本文中的JSONNode::NodeAt方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。