cocos2d libjson数据解析

使用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;//进入下一层
        }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值