欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

cocos2d 讀取json

錢琪琛2年前9瀏覽0評論

在cocos2d中讀取json數(shù)據(jù)是非常常見的操作。下面我們來介紹一下如何使用cocos2d讀取json數(shù)據(jù)。

首先,我們需要加載json文件。在cocos2d中,我們可以使用CCFileUtils::getInstance()->getStringFromFile方法加載json文件。

std::string jsonStr = FileUtils::getInstance()->getStringFromFile("test.json");

然后,我們需要使用jsoncpp庫來解析json數(shù)據(jù)。cocos2d已經(jīng)集成了jsoncpp庫,我們只需要使用cocos2d::utils::json解析json數(shù)據(jù),就可以得到想要的結(jié)果。

rapidjson::Document document;
document.Parse<0>(jsonStr.c_str());
if (document.HasParseError()) {
CCLOG("GetParseError %u\n", document.GetParseError());
return;
}
if (document.IsObject()) {
const rapidjson::Value& data = document["data"];
if (data.IsArray()) {
for (int i = 0; i< data.Size(); i++) {
const rapidjson::Value& item = data[i];
int id = item["id"].GetInt();
std::string name = item["name"].GetString();
float price = item["price"].GetFloat();
CCLOG("id:%d name:%s price:%f", id, name.c_str(), price);
}
}
}

上面的代碼中,我們首先調(diào)用了document.Parse方法將json數(shù)據(jù)解析出來。然后判斷是否有解析錯誤,如果有錯誤則返回。接下來我們判斷json數(shù)據(jù)是否是一個object類型,如果是則獲取data數(shù)組,并遍歷data數(shù)組中的數(shù)據(jù)。對于每個數(shù)據(jù)項,我們可以使用item["key"].getType()的方式獲取其中每個key對應(yīng)的value。在本例中,我們獲取了id、name和price三個key對應(yīng)的value。

最后,我們可以在控制臺中輸出得到的結(jié)果。

以上就是使用cocos2d讀取json數(shù)據(jù)的方法和技巧。希望對大家有所幫助。