微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

第十五讲:XML、JSON数据结构解析


本讲内容


一、解析的基本概念

二、XML数据结构

三、JSON数据结构

四、XMLJSON两种数据结构的优缺点

五、进⾏行XML数据结构解析时使⽤用到的SAX⼯工具,DOM⼯工具

六、进⾏行JSON数据结构解析时使⽤用到的第三⽅方框架



一、解析的基本概念


解析的概念

所谓解析:从事先规定好的格式中提取数据解析的前提:提前约定好格式、数据提供⽅方按照格式提供数据、

数据获取⽅方则按照格式获取数据iOS开发常⻅见的解析:XML解析、JSON解析



二、XML数据结构


XML基本概念

XML:Extensible MarkuP Language(可扩展标记语⾔言),主流数据格式之⼀一,可以⽤用来存储和传输数据。



XML数据格式的功能

数据交换 内容管理 ⽤用作配置⽂文件 


XML数据结构的语法

声明 节点使⽤用⼀一对标签表⽰示。起始和结束标签。 根节点是起始节点,只有⼀一个。节点可以嵌套。 节点可以有值。存储在⼀一对⼉儿标签中。 


⽰示例


⽰示例


三、进⾏行XML解析时使⽤用到的SAX⼯工具


SAX解析

SAX:Simple API for XML。基于事件驱动的解析⽅方式,逐⾏行解析数据。(采⽤用协议回调机制)



NSXMLParser

NSXMLParseriOS自带XML解析类。采⽤用SAX⽅方式解析数据。

解析过程由NSXMLParserDelegate协议⽅方法回调

解析过程:开始标签->取值->结束标签->取值代码演⽰示



四、进⾏行XML解析时使⽤用到的DOM⼯工具


DOM解析
DOM:Document Object Model(⽂文档对象模型)。解析时需要

XML文件整体读⼊入,并且将XML结构化成树状,使⽤用时再通过树状结构读取相关数据



GdataxMLNodeGdataxMLNodeGoogle提供的开源XML解析类,对

libxml2.dylib进⾏行了Objective-C的封装

采⽤用DOM⽅方式解析数据

iOS中包含⼀一个C语⾔言的动态链接libxml2.dylib,解析速度⽐比NSXMLParser

代码演⽰示



五、JSON数据结构


JSON数据结构的概念

Javascript Object Notation,轻量级的数据交换格式,采⽤用完全独⽴立于语⾔言的⽂文本格式,被称为理想的数据交换语⾔言



JSON数据结构的语法JSON⽂文档有两种结构:对象、数据

对象:以{开始,以}结束,是名称/对⼉儿的集合。名称和值中间⽤用:隔开。多个名称/对之间⽤用,隔开。类似OC中的字典。

数组:以[开始,以]结束,中间是数据。数据以,分隔。JSON中的数据类型:字符串、数值、BOOL、对象、数组。



示例


JSON数据结构的功能

数据交换 内容管理 配置⽂文件 


六、使⽤用Foundation进⾏行JSON解析


NSJSONSerializationNSJSONSerialization对象的作⽤用



七、使⽤用JSONKit进⾏行JSON解析


使⽤用JSONKit

JSONDecoder对象的作⽤

Nsstring(JSONKitDeserializing)类目的作⽤

NSData(JSONKitDeserializing)类目的作⽤

Nsstring(JSONKitSerializing)类目的作⽤

NSArray(JSONKitSerializing)类目的作用

NSDictionary(JSONKitSerializing)类目的作用



总结数据解析:从某种格式的数据中提取⾃自⼰己所需要的数据。

主流的数据交换格式有两种:XMLjsonxML解析分为两种:SAX解析和DOM解析XML解析⼯工具:NSXMLParserGdataxMLNodetochXMLKissXML

JSON解析⼯工具:JSONKitNSJSONSerializationTouchJSONSBJSON等,其中NSJSONSerialization是系统提供的解析类,其解析效率是最⾼高的



课程预告

HTTP协议的概念HTTP协议的常⻅见请求⽅方式iOS平台如何实现HTTP协议请求

原文地址:https://www.jb51.cc/xml/297587.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。