JSON&XML总结
JSON&XML:
JSON-----
//英译 Serialization:序列化
perform:执行 segue:继续
IOS5后 NSJSONSerialization解析
解析JSON SBJSON JSONKit touchJson的第三方库
性能:NSJSONSerialization最好,JSONKit次之 SBJSON使用范围最广,API简单易用
关于JSON应用
发送GET/POST请求给服务器,获取数据DATA,用NSJSONSerialization解析DATA为JSON(数组/字典保存),写入本地plist文件,使用时解析plist文件为模型,从而使用模型的属性,
NSURLConnection sendAsyn:异步
//第三方框架SDWebImage 处理缓存
//XML解析- NSXMLParser这是解析器-----
英译://Parser:分析程序
-SAX(Simple API for XML)//Simple:简单的
-DOM(Document Object Model)//Document:文件
解析xml顺序(代理方法)
Connection异步获取data->实例化XML解析器(NSXMLParser)并添加data->设置代理->开始解析([parser parse])->实现六个代理方法
1: @"开始文档" 开始解析文档,初始化工作
- (void)parserDidStartDocument:(NSXMLParser *)parser
2: @"开始节点" 解析一个起始节点<name>(循环执行)//element:元素attributes:属性
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
3: @"发现节点内容" 查找节点内容,会多次执行
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
4: @"节点完成" 解析末尾就节点</name>
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
5: @"结束文档" 解析文档完成<获得结果>
- (void)parserDidEndDocument:(NSXMLParser *)parser
6: @"错误处理" 错误处理,终止解析
- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError
//牛B闪闪Block-牛B闪闪Block-牛B闪闪Block------
//parser:解析 Completion:结束,完成
模型(封装方法)----
typedef void (^parserCompletionBlock)(NSArry *xmlList);
- (void)videoParserWithData:(NSData *)data Completion:(parserCompletionBlock)Completion;
{
parserCompletionBlock(数组);
}
需要将数据结果回传给控制器
控制器(调用方法)--
[对象 videoParserWithData:data Completion:^(NSArry *xmlList){
保存变量的数组=xmlList;
}];
//关于block:谁调用了
JSON&XML总结的更多相关文章
- Python导出Excel为Lua/Json/Xml实例教程(三):终极需求
相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...
- Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- JSON/XML序列化与反序列化(非构造自定义类)
隔了很长时间再重看自己的代码,觉得好陌生..以后要养成多注释的好习惯..直接贴代码..对不起( ▼-▼ ) 保存保存:进行序列化后存入应用设置里 ApplicationDataContainer _a ...
- php返回json,xml,JSONP等格式的数据
php返回json,xml,JSONP等格式的数据 返回json数据: header('Content-Type:application/json; charset=utf-8'); $arr = a ...
- Atitit.json xml 序列化循环引用解决方案json
Atitit.json xml 序列化循环引用解决方案json 1. 循环引用1 2. 序列化循环引用解决方法1 2.1. 自定义序列化器1 2.2. 排除策略1 2.3. 设置序列化层次,一般3级别 ...
- 【转】[WCF REST] 帮助页面与自动消息格式(JSON/XML)选择
可以说WebHttpBinding和WebHttpBehavior是整个Web HTTP编程模型最为核心的两个类型,前者主要解决消息编码问题,而余下的工作基本上落在了终结点行为WebHttpBehav ...
- 计算机程序的思维逻辑 (63) - 实用序列化: JSON/XML/MessagePack
上节,我们介绍了Java中的标准序列化机制,我们提到,它有一些重要的限制,最重要的是不能跨语言,实践中经常使用一些替代方案,比如XML/JSON/MessagePack. Java SDK中对这些格式 ...
- C#中另辟蹊径解决JSON / XML互转的问题
C#中另辟蹊径解决JSON / XML互转的问题 最近在一个POC的项目中要用到JSON和XML的相互转换, 虽然我知道很多类库如JSON.NET具备这种功能, 但是我还是另辟蹊径的使用Spider ...
随机推荐
- ajax(通过jQuery实现)
使用jQuery实现ajax相对来说方便一点,看w3cschool有几种实现的方法,我就总结一下自己以后会用到的几种方法 $.ajax方法: $.ajax方法里面有很多个参数可以使用,但我这里就写自己 ...
- ScrollView中嵌套recycleView 出现的不显示,显示不全,终极解决方案
最近公司项目中用到了ScrollView去嵌套recycleView, 最开始我天真的把recycleView直接放入scrollView中,结果可想而知,什么都不显示,瞬间懵逼,我心想应该是和嵌套L ...
- github-windows本地安装
Step1 准备工作 msysgit,下载地址为 http://msysgit.github.io/ . Eclipse IDE for Java EE Developers(必须是这个,自带Egit ...
- Leetcode 216. Combination Sum III
Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...
- 【CityHunter】Unity3D设计AR探索模式
为了增加游戏的乐趣性,我对项目进行了Unity3D的引入,经过一番折腾,终于做出了一个基本的AR探索模式的基本雏形. 途中的小方块就是虚拟物体,因为是静态图片,所以也不能看出什么来,只能文字形容一下: ...
- 如何使用iconfont字体代替小图片?
我们以阿里巴巴矢量图标库举例,地址:http://www.iconfont.cn/ 在这里,你可以上传你的矢量图标,也可以直接使用现成的小图标. 为什么要用这些个图标字体,本文就不介绍了,请自行百度. ...
- System.Properties和System.getenv区别
网上很多使用的是getProperties.说获得系统变量,但是其实不正确.getProperties中所谓的"system properties"其实是指"java s ...
- Bash 会清空从父进程继承来的 OLDPWD
即便 Bash 没有从父进程继承任何的环境变量,Bash 自己也会创建三个环境变量,分别是: $ env -i bash -c export declare -x OLDPWD declare -x ...
- 白话讲MyIsam和InnoDB的区别
"MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持"这是网上对MyISAM和InnoDB的解释,很抽象吧,我们用白话的方式解释一下其实也比较简单所谓事务处理,就是原 ...
- JAVA关键字与保留字说明及使用
1.abstract 2.boolean 3.break 4.byte 5.case 6.catch 7.char 8.class 9.continue 10.default 11.do 12.dou ...