標籤: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 面試題之網路資料解析