LibJson数据解析方法
void HelloWorld::ParseJSON(JSONNode *n,CCMutableArray<CCObject *> *array,CCMutableDictionary<std::string,CCObject *> *dic,CCMutableDictionary<std::string,CCObject *> *dataDicLast)
{
if(n==NULL)
{
printf("擦 什么都没有你简析个屁了呀!滚蛋\n");
}
JSONNode::iterator iterator=n->begin();
while (iterator!=n->end())
{
//-------------------获取key
json_string stringKeyJson=iterator->name();
const string stdKeyString=to_std_string(stringKeyJson);
//printf("key====%s",stdKeyString.c_str());
//-------------------获取Value
const char stringValueJson=iterator->type();
//printf("type===%d\n",stringValueJson);
if(iterator->type()==JSON_ARRAY && stdKeyString!="")
{
CCMutableArray<CCObject *> *tempArray=new CCMutableArray<CCObject *>;
ParseJSON(&(*iterator),tempArray,NULL,NULL);
dataDicLast->setObject(tempArray, stdKeyString.c_str());
tempArray->release();
}
else if(iterator->type()==JSON_ARRAY)
{
CCMutableArray<CCObject *> *tempArray=new CCMutableArray<CCObject *>;
ParseJSON(&(*iterator),tempArray,NULL,NULL);
array->addObject(tempArray);
tempArray->release();
}
else if(iterator->type()==JSON_STRING && stdKeyString!="")
{
json_string valueJString=iterator->as_string();
std::string ValueCstring=to_std_string(valueJString);
CCString *valueString=new CCString(ValueCstring.c_str());
dataDicLast->setObject(valueString, stdKeyString.c_str());
valueString->release();
}
else if(iterator->type()==JSON_STRING)
{
json_string valueJString=iterator->as_string();
std::string ValueCstring=to_std_string(valueJString);
CCString *valueString=new CCString(ValueCstring.c_str());
array->addObject(valueString);
valueString->release();
}
else if(iterator->type()==JSON_NODE && stdKeyString!="")
{
CCMutableDictionary<std::string,CCObject *> *tempDic=new CCMutableDictionary<std::string,CCObject *>;
ParseJSON(&(*iterator),NULL,NULL,tempDic);
dataDicLast->setObject(tempDic, stdKeyString.c_str());
tempDic->release();
}
else
{
CCMutableDictionary<std::string,CCObject *> *tempDic=new CCMutableDictionary<std::string,CCObject *>;
ParseJSON(&(*iterator),NULL,NULL,tempDic);
dic->setObject(tempDic, stdKeyString.c_str());
tempDic->release();
}
iterator++;
}
}
转载于:https://blog.51cto.com/wangxu254/1313838
LibJson数据解析方法相关推荐
- 爬虫之常用数据解析方法
爬虫之常用数据解析方法
- 以麦当劳,肯德基优惠券接口数据为例进行的数据解析方法,简单易懂
以麦当劳,肯德基优惠券接口数据为例进行的数据解析方法,简单易懂,这是我个人觉得是一种比较简单易懂的json数据解析方法: 看下其中一个类的代码 package com.example.text_jso ...
- JSON三种数据解析方法
JSON数据现在是我们开发中用的最多的,百分之九十的数据都是通过JSON方式进行传输,那么想要学好JSON解析就要了解什么是JSON数据,怎么快速解析它从而提升开发效率. 1 什么是JSON数据? 先 ...
- Day 10 10.1 数据解析方法之-BS4
BS4 [1]简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: ''' Beautiful Soup提供一些简单的.python式的函数 ...
- iOS基础-数据解析方法初步总结-(XML,JSON欢迎指正)
小时候的记忆与大家一起分享,愿君安好! 解析的基本概念 解析: 从事先规定好的格式中提取数据 解析的前提: 提前约定好格式,数据提供方按照格式提供数据,数据获取方则按照格式获取数据 OS开发常见的解析 ...
- 一个Python爬虫案例,带你掌握xpath数据解析方法!
文章目录 xpath基本概念 xpath解析原理 环境安装 如何实例化一个etree对象: xpath('xpath表达式') xpath爬取58二手房实例 爬取网址 完整代码 效果图 xpath图片 ...
- 压电式雨量传感器RS485数据解析协议
压电式雨量传感器产品概述 传感器由上盖.外壳和下盖组成,壳体内部有压电片和电路板,可以固定在外径50mm立柱上和气象站横杆上.传感器采用冲击测量原理对单个雨滴重量进行测算,进而计算降雨量.雨滴在降落过 ...
- Python-爬虫 (BS4数据解析)
文章目录 1. BS4数据解析常见方法 2.BS4数据解析,爬取豆瓣电影属性 1. BS4数据解析常见方法 BS4数据解析方法是把需要的数据进行截取.处理数据的时间比较长 测试用网页: <!DO ...
- 爬虫之bs4、xpath数据解析(案例—scrapy获取菜鸟HTML页面数据)
文章结构 1.爬虫概念简介 2.爬虫的流程 3.数据解析 (1)bs4解析 (I)根据标签名查找 soup.a (II)获取属性 soup.a[attr] (III)soup.a.text 获取响应文 ...
最新文章
- zookeeper适用场景:zookeeper解决了哪些问题
- REST POST PUT差别
- filezilla 设置服务器_java项目部署到linux服务器,微信小程序后台springboot项目部署到腾讯云服务器(图文详解)...
- P1216 [IOI1994][USACO1.5]数字三角形 Number Triangles(简单dp)
- C语言作业二选择结构,C语言第二次作业参考答案选择结构.pdf
- PHP|Yii2下通过插件进行图片处理(亲测可用)
- TextView输入文字改变输入框大小
- SecureCRT连接阿里云ECS服务器,经常掉线的解决方案
- vue echarts数据变化重新渲染_vue实例创建及数据挂载渲染
- pudn下载地址的规律
- tensorflow gpu环境安装
- 【PhotoShop】用图片自带的alpha通道抠图
- excel入门/常用的技巧
- 亚马逊被人差评了怎么办?
- 对学习数据结构的建议
- ios获取系统自带的文字蓝色色值
- 删除html表里的数据,如何删除HTML表格行中表格数据之间的空白?
- python进阶_基础篇4(数据类型和列表)
- 递归方式实现打印一个整数的每一位
- linux内核中的copy_to_user和copy_from_user(一)
热门文章
- 云专网和云专线的区别_云专线的优势及应用场景
- 二进制在计算机电路中得到广泛的应用,模拟电子和数字电子技术的区别及应用...
- 神策 FM | 科学创造「高价值」人生,终止“瞎忙”式勤奋
- 数据驱动才是零售企业转型的核心!
- linux下升级python2.0到python3.0
- MRI炎症和结构损伤指标对TNF拮抗剂治疗AS患者获持续缓解的预测价值
- 用户名登陆的两种格式
- BlazeDS 整合 Flex HelloWorld 示例
- page和其它几个内置对象(转)
- 链接写不到txt文件该怎么办呢