Hızlı iletişimde yeniyim. I {"points": [1,2,3,4]}
json dosyasından seri veriyi elde edebilirsiniz rapidjson
içeren test.json
sahip ve dizi "points"
std::string fullPath = CCFileUtils::sharedFileUtils()->fullPathForFilename("json/deluxe/treasurebag.json");
unsigned long bufferSize = 0;
const char* mFileData = (const char*)CCFileUtils::sharedFileUtils()->getFileData(fullPath.c_str(), "r", &bufferSize);
std::string clearData(mFileData);
size_t pos = clearData.rfind("}");
clearData = clearData.substr(0, pos+1);
document.Parse<0>(clearData.c_str());
assert(document.HasMember("points"));
const Value& a = document["points"]; // Using a reference for consecutive access is handy and faster.
assert(a.IsArray());
for (SizeType i = 0; i < a.Size(); i++) // rapidjson uses SizeType instead of size_t.
CCLOG("a[%d] = %d\n", i, a[i].GetInt());
veri almak için aşağıdaki kodu kullanmak ve beklendiği gibi onun sonucu
Cocos2d: a[0] = 1
Cocos2d: a[1] = 2
Cocos2d: a[2] = 3
Cocos2d: a[3] = 4
olup.
//! Get the number of elements in array.
SizeType Size() const { RAPIDJSON_ASSERT(IsArray()); return data_.a.size; }
kimse i ne yaptığını açıklayabilir: Ben almaya çalıştığımda Ama şimdi verileri bir hata oluştu ve derleyici attı bu
{"points": [{"y": -14.25,"x": -2.25},{"y": -13.25,"x": -5.75},{"y": -12.5,"x": -7.25}]}
gibi bir diziden (x
ve y
olsun) yanlış ya da bir şey cevapsız mı? Kötü ingilizcem için özür dilerim.
Herhangi bir yardım için teşekkür ederiz.
Teşekkürler.
ikinci json sonunda yakın ayracı eksik. – Casey