cocos2dlibjson数据解析

前端之家收集整理的这篇文章主要介绍了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;//进入下一层
        }
}
原文链接:https://www.f2er.com/cocos2dx/344356.html

猜你在找的Cocos2d-x相关文章