<p id="qitwt"></p>
      1. <object id="qitwt"><strong id="qitwt"></strong></object>
        <p id="qitwt"></p>
        <li id="qitwt"></li>
        <p id="qitwt"><del id="qitwt"><xmp id="qitwt"></xmp></del></p>
        <p id="qitwt"><label id="qitwt"></label></p>
      2. <acronym id="qitwt"></acronym>
        <p id="qitwt"></p>
        免費開源的iOS開發學習平臺

        iOS開發之網絡編程:7-JSON和XML簡單介紹

        在發送網絡請求成功之后,服務器返回給客戶端的數據,一般都是JSON格式或者XML格式。這篇文章我們簡單介紹一下什么是JSON格式以及XML格式。

        JSON簡介

        JSON是一種輕量級的數據格式,一般用于數據交互,目前JSON的使用非常廣泛,絕大多數網絡請求都采用了JSON格式。JSON的格式很像Objective-C中的字典和數組 ,標準JSON格式key必須用雙引號包裹起來。

           {"name" : "九九學院", "site" : “www.shengdelvshi.com”}
        

        要想從JSON中獲取其中的詳細數據,則需要對JSON進行解析,即將JSON轉換為Objective-C中的數據類型。JSON數據格式與Objective-C對象之間的參照如下圖所示。

        對于JSON數據的解析既可以使用Foundation框架中提供的方法,也可以使用第三方框架。其中蘋果官方提供了原生的解析JSON數據的方法--NSJSONSerialization。NSJSONSerialization類中提供了JSON與Objective-C對象之間相互轉換的方法。

        • JSON數據轉Objective-C對象,使用的是JSONObjectWithData:options:error:error方法
        + (nullable id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error;
        
        • Objective-C對象轉JSON數據,使用的是dataWithJSONObject:options:error:方法
        + (nullable NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error;
        

        另外,JSON的解析也可以使用第三方框架,常見的有JSONKit、SBJson等。需要特別說明的是,假如使用AFNeworking處理網絡請求,該框架會自動幫我們解析JSON類型的網絡響應數據。

        XML簡介

        XML全稱是Extensible Markup Language,譯作“可擴展標記語言”,也是常用的一種用于交互的數據格式。XML樣例如下所示。

        根據樣例可以看出,<></>都是成對出現的,這叫做標簽。其中,<>是開標簽,</>是關標簽。要獲取某個標簽的數據,需要一步步遍歷下去,直到找到所需要的那個標簽下的內容。例如,我們需要獲取【九九學院 第三講】這個視頻的長度length,那就需要先找到開標簽為video的,然后再找到其中name是【九九學院 第三講】的,然后就可以獲取其中與name并列的length屬性了。

        對于XML數據的解析,同樣可以使用蘋果官方提供的框架以及第三方框架。在Foundation框架中,蘋果為我們提供了NSXMLParser類用于處理XML類型的數據,第三方框架中比較有名的是GDataXML。


        青青草国产成人久久_jizzjizz日本护士高清_亚洲 另类 国产 另类_99久久免费精品色老
        <p id="qitwt"></p>
          1. <object id="qitwt"><strong id="qitwt"></strong></object>
            <p id="qitwt"></p>
            <li id="qitwt"></li>
            <p id="qitwt"><del id="qitwt"><xmp id="qitwt"></xmp></del></p>
            <p id="qitwt"><label id="qitwt"></label></p>
          2. <acronym id="qitwt"></acronym>
            <p id="qitwt"></p>