国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS-網絡訪問JSON數據類型與XML數據類型的實現思路及它們之間的區別

2019-11-14 20:45:22
字體:
來源:轉載
供稿:網友

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.zWords="" logo="/upload/pic/2013_06_5/20136211172503.png" jx="False" />

 </book>

 可以將所有的屬性設置到一個節點中的屬性節點中,如此只需要第二步即可。

                                                 清澈Saup

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武隆县| 兴化市| 象山县| 香港 | 黄浦区| 句容市| 镇原县| 华坪县| 仁寿县| 舟山市| 蚌埠市| 神农架林区| 和顺县| 五大连池市| 云南省| 靖州| 肃南| 达拉特旗| 韶山市| 古蔺县| 景德镇市| 通海县| 岑巩县| 松滋市| 平度市| 盘锦市| 加查县| 闽侯县| 镇坪县| 阿尔山市| 新兴县| 恭城| 九台市| 南澳县| 榕江县| 临沭县| 巴楚县| 福建省| 栾川县| 吉木萨尔县| 韩城市|