天天看点

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