rapidjson cocos2d-x parsing
rapidjson cocos2d-x parsing
rapidjson::Document d;
d.Parse<0>(chatevent.chat.c_str());
if(d.HasMember("kelimeler"))
{
rapidjson::Value::MemberIterator M;
const char *key,*value;
for (M=d.MemberBegin(); M!=d.MemberEnd(); M++)
{
key = M->name.GetString();
value = M->value.GetString();
if (key!=NULL && value!=NULL)
{
log("key: %s, value: %s", key,value);
}
}
}
这是我用来在 cocos2d-x 中处理 json 数据的代码。这是 json:
{
"kelimeler": [{
"harfsayisi": 10,
"kelime": "bibnştvdaf",
"harfler": ["t", "s", "ç", "p", "b", "c", "h", "n", "c", "c", "n", "b", "t", "v", "ş", "v", "a", "c", "v", "p", "d", "ğ", "s", "k", "i", "ç", "f", "v", "b", "p", "a", "ü", "d", "ü", "e"]
}]
}
那么如何使用代码来处理它呢?我根本无法获得"凯利梅勒"分支。提前谢谢。
需要记住注意命名空间冲突。理想情况下,编译器会警告歧义。在这种情况下,您需要指定您想要来自 rapidjson 而不是 cocos2d 的类。
更新乔希的例子。
rapidjson::Document d;
d.Parse<0>(chatevent.chat.c_str());
if(d.HasMember("kelimeler"))
{
const rapidjson::Value& k = d["kelimeler"]; // you are missing this
assert(k.IsArray());
if(k.HasMember("harfler"))
{
const rapidjson::Value& h = k["harfler"];
for (rapidjson::SizeType i = 0; i < h.Size(); i++)
{
log("value: %s", h[i].GetString());
}
}
}
在你的代码中,它实际上没有获得"kelimeler"数组。 请参阅 rapidjson 教程 http://rapidjson.org/md_doc_tutorial.html#ValueDocument
if(d.HasMember("kelimeler"))
{
const Value& k = d["kelimeler"]; // you are missing this
assert(k.IsArray());
for (SizeType i = 0; i < k.Size(); i++)
{
...
}
}
相关文章:
- 构造对象 c++ (cocos2d-x) 时的区别
- 如何避免 Cocos2d-x 3.15.1 中的 MenuItemImage 和 MenuItemSprite 之间的冲突
- Cocos2D-X:从内存中读取 MP3 数据
- 如何在 cocos2d-x 3.17v 中创建字符串数组
- 如何使用 cocos creator 在 Cocos2d-X/Cocos2d-JS 中调用 javascript 函数并
- 音乐和音效无法在win32平台上播放?(Cocos2D-X)
- Cocos2d-x TiledMap,在调用 getLayer() 获取碰撞层时返回一个 nullptr?
- 为什么精灵在 cocos2d-x 中颤抖
- lambda回调中Android Cocos2D-X应用程序上的SEG故障
- COCOS2D-X 3.0时间表错误2276
- gldrawarrays with cocos2d根本没有绘画
- 内存相关崩溃:Cocos2d游戏中的三维数组
- cc.game.restart() carsh when extend sdkbox in cocos2d-js 3.1
- 如何在Cocos2d Android应用程序中获得呼叫/挂起事件
- 如何在 cocos2d-x 中创建自定义操作
- cJSON - parsing JSON
- 对'cocos2d::network::HttpClient::send(cocos2d::network::HttpRequest*)'的未定义引用
- 在 Cocos2d-x 中一次使用多个精灵表
- 如何使用在 Cocos2d 中执行存储的动画
- rapidjson cocos2d-x parsing