码迷,mamicode.com
首页 > Web开发 > 详细

cocos2dx中.json和.plist文件格式加载的不同

时间:2015-10-31 01:45:01      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:json和plist

一、.json加载,一般通过std::string data = FileUtils::getInstance()->getStringFromFile(filename);  通过文本rapidjson::Document doc;  

doc.Parse<rapidjson::kParseDefaultFlags>(data.c_str()); 解析data。

解析之后doc应该是一个数组形式的,而且是一个二维数组(或者说是一个矩阵形式)。

如果解析没有错误,可以通过doc.size()取得总行数,然后通过rapidjson::Value &v=doc[i]取得每一列的值,它也是一个数组,v.size()取得总列数,通过const auto& value = v[index];取得具体的值,这个值可能是NULL,可能是int,可能是string,可以通过value.IsNull()、value.IsString()、value.IsInt()判断并通过value.GetString()或value.GetInt()等获取该值

二、.plist加载,一般通过ValueMap dict = FileUtils::getInstance()->getValueMapFromFile(filename);获取最外层的ValueMap,该valuemap里面可以嵌套其他valuemap,获取内部嵌套的其他valuemap,可以这样获取,auto dataIter = dict.find("data"),(此时dataIter相当于一个Value),通过判断if(dataIter != dict.cend()&&dataIter->second.getType()==Value::Type::MAP){const auto& data = dataIter->second.asValueMap();}

本文出自 “每天进步一点点” 博客,请务必保留此出处http://568464209.blog.51cto.com/7726521/1708221

cocos2dx中.json和.plist文件格式加载的不同

标签:json和plist

原文地址:http://568464209.blog.51cto.com/7726521/1708221

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!