使用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;//进入下一层
}
}
cocos2d libjson数据解析
最新推荐文章于 2018-10-15 16:01:38 发布