JSON & XML——网络数据格式
来源:互联网 发布:软件项目质量保证措施 编辑:程序博客网 时间:2024/06/06 20:11
JSON
(1)作为一种轻量级的数据交换格式,正在逐步取代XML,成为网络数据的通用格式
(2)基于JavaScript的一个子集
(3)易读性略差,编码手写难度大,数据量小
(4)JSON格式取代了XML给网络传输带来了很大的便利,但是却没有了XML的一目了然,尤其是JSON数据很长的时候,我们会陷入繁琐复杂的数据节点查找中
XML
n可扩展标记语言
n用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言
n易读性高,编码手写难度小,数据量大
JSON格式说明
n对象
n{}
n格式 {key : value, key : value,...} 的键值对的结构
n可以反序列化为OC中的NSDictionary
n数组
n[]
n格式 ["java","javascript","vb",...]
n可以反序列化为OC中的NSArray
n
n提示
nJSON的数据格式与OC中的快速包装方法非常类似
nJSON的数据格式同样支持嵌套
解析服务器端返回JSON数据从iOS 5开始,使用NSJSONSerialization对JSON解析
其他常见的三种JSON解析第三方库:
SBJson 因为API简单易用,可能还会有一些应用中留存
JSONKit JSONKit的开发者称:JSONKit的性能优于苹果
TouchJson
反序列化
[NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
序列化
[NSJSONSerialization dataWithJSONObject:arrayoptions:0 error:NULL];
HTML
是用来描述网页的一种语言
HTML 指的是超文本标记语言(Hyper TextMarkup Language)
HTML 不是一种编程语言,而是一种标记语言(markuplanguage)
HTML 被设计用来显示数据
XML
XML 是一种标记语言,很类似HTML
XML 的设计宗旨是传输和存储数据,而非显示数据
HTML5
强化了 Web 网页的表现性能
增加了用于绘画的 canvas元素
用于媒介播放的 video和 audio 元素等
追加了本地数据库等 Web应用的功能
广义论及HTML5时,是包括HTML、CSS和JavaScript在内的一套技术组合
希望能够减少浏览器对于需要插件的丰富性网络应用服务
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:
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数据格式的区别和用法
- 基础知识点
- UVa11795 Mega Man's Mission(状态压缩DP)
- 黑马程序员——Java基础---异常处理机制
- Posix message queue 消息队列
- CSU 1592 石子归并 相邻操作Dp问题
- JSON & XML——网络数据格式
- MyReport2.8发布了——多语言功能
- surfaceView和View最本质的区别
- linux编程mysql
- Cocos2d-x 3.6Terrain地图用法
- Ubunto 安装Apache服务器
- IoC模式
- .NET使用OpenSSL生成的pem密钥文件(增加size为2048的密钥转换)
- BZOJ4032【后缀自动机】【序列自动机】