iOS 面試題之網路資料解析

來源:互聯網
上載者:User

標籤:style   http   java   os   io   檔案   for   資料   ar   

面試官問:說一下網路資料擷取後的幾種格式。

我:Json Xml格式資料,Json居多

面試官問:為什麼Json居多?

我:因為= =伺服器端這麼寫就這麼用唄,只要提供資料,我哪裡知道他給的是那種類型。

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

分析兩者之間的區別:http://baike.baidu.com/view/136475.htm?fr=aladdin#6_1

總結如下:(1)可讀性方面:基本相同,Xml的可讀性比較好(2)可擴充性方面:都具有很好的擴充性(3)編碼難度方面:相對而言:Json的編碼比較容易(4)解碼難度:Json的解碼難度基本為零,xml需要考慮子節點和父節點(5)資料體積方面:Json相對於xml來講,資料體積小,傳遞的速度跟快些(6)資料互動方面:Json與JavaScript的互動更加方面,更容易解析處理,更好的資料互動(7)資料描述方面:Xml對資料描述性比較好(8)傳輸速度方面:Json的速度遠遠快於Xml

可以看出,Json在一定層次上,是優於Xml解析。

Json的解析原理:

由對象,數組構成的字串。

資料類型:字串、數字、BOOL、字典、數組。

字典:以“{”開始,以“}”結束,中間是字典的索引值對。鍵和值中 間?用“:”隔開。多個索引值對之間?用“,”隔開。

數組:以“[”開始,以“]”結束,中間是資料。資料以“,”分隔。

Xml的解析原理:

SAX:Simple API for XML。基於事件驅動的解析?方式,逐?行解析 資料。(采?用協議回調機制)

NSXMLParser是iOS?內建的XML解析類。采?用SAX?方式解析資料。

解析過程由NSXMLParserDelegate協議?方法回調

解析過程:開始標籤->取值->結束標籤->取值

DOM:Document Object Model(?文件物件模型)。解析時需要將XML?檔案整體讀?入,並且將XML結構化成樹狀,使?用時再通過樹 狀結構讀取相關資料

GDataXMLNode是Google提供的開源XML解析類,對libxml2.dylib進?行了Objective-C的封裝

采?用DOM?方式解析資料

iOS中包含?一個C語?言的動態連結程式庫libxml2.dylib,解析速度?比 NSXMLParser快



iOS 面試題之網路資料解析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.