(主要用于上传一些文件,移动开发时用的不多)     

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

1.JSON (基本上移动开发的主要数据传输都是JSON)1.1.JSON特点: a.[]表示数组

b.{}表示字典-对象模型建立关系

c.应用非常多,基本上移动开发的主要数据传输都是JSON

d. 读取数据时效率高

e.在做实现读取数据时,简单便捷

1.2.实现 要使用JSON,从网络上获取到数据之后使用:

[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];

可以将网络数据反序列化为字典或者数组,具体转换类型,看JSON最外面的一个括号

2.xml(主要用于上传一些文件,移动开发时用的不多)2.1.JSON特点:* XML

a. 大,解析费劲

b. 解析步骤麻烦,效率低下

c. 直接看XML方便看出数据

2.2.实现

XML解析需要

// 1) 实例化解析器

NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];

// 2) 设置代理

parser.delegate =self;

// 3)开始解析

[parser parse];

// 4)调用代理方法

===================================================================

XML解析的六个代理方法// 1. 开始解析文档,在这里做初始化工作

/**

1. 解析准备工作

- (void)parserDidStartDocument:(NSXMLParser *)parser

2.3.4 三个步骤会循环执行,一直到所有的节点解析完成

2.解析一个节点,即节点中的字典

- (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. 节点完成,可以用KVC直接设置对象内容

- (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

7.当XML格式如下:

<book pages="12" index="1">

<item id="1558" title="仙逆" tag="玄幻" source="/upload/file/2013_07_4/2013718101155179.zip" author="耳根" updatetime="2013-6-21 11:06:17" summary="仙逆............." clicks="86945"Words="" logo="/upload/pic/2013_06_5/20136211172503.png" jx="False" />

</book>

可以将所有的属性设置到一个节点中的属性节点中,如此只需要第二步即可。

清澈Saup

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航