JSON & XML——网络数据格式
来源:互联网 发布:硕士论文数据库 编辑:程序博客网 时间:2024/05/21 11:36
反序列化
[NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
序列化
[NSJSONSerialization dataWithJSONObject:arrayoptions:0 error:NULL];
connectionError
修改URL中的主机地址测试连接错误
定义NSURLRequest时,应该同时指定超时时长
修改后台数据库,增加中文姓名
注意在URL中如果包含中文字符或者特殊字符(例如:空格),需要使用百分号转义以确保URL的合法
使用指定编码对字符串进行百分号转义
stringByAddingPercentEscapesUsingEncoding
解码百分号转义的字符串
stringByAddingPercentEscapesUsingEncoding
NSXMLParser是SAX方法解析
SAX(Simple API for XML)
只能读,不能修改,只能顺序访问,适合解析大型XML,解析速度快
常应用于处理大量数据的XML,实现异构系统的数据访问,实现跨平台
从文档的开始通过每一节点移动,定位一个特定的节点
DOM(Document Object Model)
不仅能读,还能修改,而且能够实现随机访问,缺点是解析速度慢,适合解析小型文档
一般应用与小型的配置XML,方便操作
为载入到内存的文档节点建立类型描述,呈现可横向移动、潜在巨大的树型结构
在内存中生成节点树操作代价昂贵
解析过程:
实例化NSXMLParser,传入从服务器接收的XML数据
定义解析器代理
解析器解析
通过解析代理方法完成XML数据的解析
// 1. 开始解析XML文档
- (void)parserDidStartDocument:
// 2. 开始解析某个元素,会遍历整个XML,识别元素节点名称
- (void)parser:didStartElement:namespaceURI:qualifiedName:attributes:
// 3. 文本节点,得到文本节点里存储的信息数据,对于大数据可能会接收多次!为了节约内存开销
- (void)parser:foundCharacters:
// 4. 结束某个节点,存储从parser:foundCharacters:方法中获取到的信息
- (void)parser:didEndElement:namespaceURI:qualifiedName:
注意:在解析过程中,2、3、4三个方法会不停的重复执行,直到遍历完成为止
// 5.解析XML文档结束
- (void)parserDidEndDocument:
// 6.解析出错
- (void)parser:parseErrorOccurred:
XMPP——即时通讯,KissXML
RSS目前还有少量的企业在使用
开源的WebServices,例如天气预报等
如果设计好XML的接口,XML的解析并不会太复杂
移动开发中绝大多数还是使用JSON
如果自己开发,或者公司后台接口,最好使用JSON
0 0
- JSON & XML——网络数据格式
- JSON & XML——网络数据格式
- jquery实例—json/xml数据格式交互
- 网络传输数据格式XML、JSON、ProtoBuf
- python——使用yaml数据格式,PK --> XML,JSON
- php与Ajax(四)—xml与json数据格式
- json,xml数据格式校验
- 一种简易网络传输数据格式【替代json/xml】
- AJAX——JSON数据格式
- 【文本】数据格式——JSON
- 轻量级数据格式——JSON
- 轻量级数据格式——JSON
- AJAX——JSON数据格式
- Ajax(三) — json 数据格式
- Json数据格式和XML数据格式的分析
- 网络传输文本数据格式JSON
- 网络编程——XML与JSON
- json数据格式,xml数据格式的区别和用法
- Tomcat浅析,下载,安装
- Leetcode # 153 Maximum Product Subarray
- Python reduce()函数的用法
- java 设计模式 责任链 filter
- AUTOMAKE 教程,
- JSON & XML——网络数据格式
- 全自动化的 Android 编译管线
- Android数据库批量操作的性能优化
- tsung 安装
- [D-XI] DFFE 2 随机存储器 点IP-core
- 困难重重重
- 进程内存
- [BZOJ1562][NOI2009]变换序列
- Python filter()函数的用法