天天看點

swift語言IOS8開發戰記24 解析Json

在IOS中使用NSURLConnection實作http通信,NSURLConnection提供了異步和同步兩種通信方式,同步請求會造成程序阻塞,通常我們使用異步的方式,不管同步還是異步,建立通信的基本步驟都是一樣的:

1,建立NSURL

2,建立Request對象

3,建立NSURLConnection連接配接

第3步結束後就建立了一個http連接配接。

這裡我們用一個開放的api做例子:

http://www.weather.com.cn/adat/sk/101010100.html

這是北京市的目前天氣資訊的json,我們首先來寫一個同步的網絡連接配接來擷取這個json,建立一個工程,在頁面上添加一個按鈕,每次點選按鈕就會輸出json的内容到控制台,控制器代碼:

運作結果如下:

swift語言IOS8開發戰記24 解析Json

下面來展示異步請求的代碼:

然後在代理方法中添加代碼即可,代理NSURLConnectionDataDelegate的代理方法如下:

定義一個NSMutableData類型資料流,在didReceiveData代理方法中收集資料流,代碼如下:

在connectionDidFinishLoading結束請求的代理方法内,解析jsonData資料流。代碼如下:

運作,同樣得到結果:

swift語言IOS8開發戰記24 解析Json