【发布时间】:2014-01-27 19:37:45
【问题描述】:
我有一个 .json 文件,其中包含一个字典数组。你能告诉我一个解析它的好方法吗?我用的是cocos2d-x 3.0-alpha版本和json类,放在external/json目录下。
我试过了:
Array* items = Array::createWithContentsOfFile("test.json");
和
string fullPath = CCFileUtils::getInstance()->fullPathForFilename("test.json");
long bufferSize = 0;
const char* mFileData = (const char*)FileUtils::getInstance()->getFileData(fullPath.c_str(), "r", &bufferSize);
string clearData(mFileData);
size_t pos = clearData.rfind("}");
clearData = clearData.substr(0, pos+1);
string data = clearData.c_str();
log("%s", clearData.c_str());
Json::Value _root;
Json::Reader reader;
reader.parse(data, _root);
但它们都不起作用——第一种方法返回一个空数组,第二种方法产生一个包含整个 json 的 _root 变量,但我不能将它变成一个数组并为每个数组创建一个单独的字典对象数组的元素(这是我想要做的)。
【问题讨论】:
-
你可以使用rapidjson
标签: c++ json parsing cocos2d-x