cocos2dlibjson数据解析

使用libJson解析思路:1.获取请求数据 
 std::vector *buffer = response->getResponseData(); //返回回来的数据 
 std::string json = "";//创建字符串用于存储返回的数据
 for (unsigned int i = 0; i < buffer->size(); i++)  
 {  
  json += (*buffer)[i];
 }  
 JSONNODE *node = json_parse(json.c_str());//调用方法,获得一个node,要传参解析的就是node
 ParseJSON(node);
 json_delete(node);
2.进入解析方法
json解析步骤(基本解析):
void ParseJSON(JSONNode * node){
        JSONNode::const_iterator i = json_begin(node);//通过迭代器可以一层一层获取node的名称,并通过该名称获取对应的value值。如果对应的仍然是node或者array的话,就递归调用,层层解析
      while (i != json_end(node)){
                if (json_type(*i) == JSON_ARRAY || i -> type() == JSON_NODE){
                        ParseJSON(*i); //递归调用该解析方法
                }
                // get the node name and value as a string
                json_char *node_name = json_name(*i);
                // find out where to store the values
                if (node_name == "RootA"){
                        json_char *node_value = json_as_string(*i);//获取到RootA对应的字 符串value值
                }
                else if (node_name == "ChildA"){
                        json_char *node_value = json_as_string(*i);
                }
                else if (node_name == "ChildB")
                        json_char *node_value = json_as_string(*i);
                //increment the iterator
             json_free(node_name);//使用完了要记得释放
                ++i;//进入下一层
        }
}

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...