iOS REST架构和JSON



本系列总括


工具


XCode  6.1.1+swift


适用对象


刚接触ios8网络编程以及对这类知识感兴趣的同学。



重点内容


本系列主要有六块内容:


REST架构和JSON


主要讲解网络编程是基于什么原理以及时下常用的JSON是干什么用的。


Alamofire框架


时下所公认的较好的框架,如何使用。和认知此框架是本系列的重点内容以及要重点讲解的部分。


注册网络API


进行网络操作,必须要从网络获取编程的接口。学会如何注册网络API。


对代码的精简


即代码复用


批量处理


如批量获取图片。


自定义serializer


serializer即序列化。什么是序列化呢?通俗的来说,就是将从网络获取的数据变成电脑能处理的文件类型的操作即称为序列化。


掌握以上六点是本系列的基本要求。以下部分只是对于前三点有一定的介绍,如果你想了解更多,你也可以参考http://www.tttoutiao.net/wiki/  这里面的内容 。



REST架构和JSON


重点词汇讲解:


REST


即Representational State Transfer,中文释义为表现层状态转移。什么是表现层状态转移呢?很多人第一次看到这个词根本就是一脸茫然。其实主要是因为其省略了主语。Resource Representational State Transfer,此时可以通俗的解释为  资源在网络中以某种表现形式进行状态转移。(示例:如REST架构世界最大的实现:万维网www)


JOSN:(JavaScript Object Notation)


JSON概念比较简单,JSON是一种轻量级(处理能力和开发复杂度都有减弱的框架)的数据格式,是一种类似脚本的文件格式。它是基于JavaScript语法的子集数组和对象来表示的。



内容介绍


1.为什么要介绍REST架构呢?因为啊,目前APP以及网络编程都是基于该种架构来实现的,所以了解这种架构很有必要。


REST架构的组成(资源在网络中以某种表现形式进行状态转移):


obtain4.png


资源


即数据。


资源的定位(URI)


我们都知道浏览网页需要网址,而这个网址就叫做资源的定位,即怎样以及在哪里获取资源。


发送请求后所返回的状态表现形式有:


HTML


即网页。浏览器打开之后可以打开各种各样的网页,而网页中可以包含文字、图片、视频、声音、多媒体等内容。


XML


以前流行的源就是由XML来表示的的。


JSON


一种类似脚本的文件格式,目前最流行的格式,也是一种很简单的格式。


状态变化所需要的动作(即操作方法):状态变化(即对资源的操作)有哪些呢?我们可以由四个字来概括:增、删、改、查。而这些状态的变化可以通过HTTP动词来实现,HTTP为了安全起见,常用的有GET方法,POST方法。POST主要用于提交, GET方法也是可以用于提交的,其实对于资源的大部分的操作都可以通过GET方法来实现的。


2.那我们如何来表示JSON的操作对象(object)的状态呢?


我们可以使用键值对来表示对象的属性和值。对象的属性和值类似于我们编程中的字典。属性和他的值之间用冒号来分割,不同的属性之间利用逗号分割。一个对象可以用一对{}包含起来,对象同时也可以作为另一个对象的属性的。具体事例如下图:


obtain5.png


如果某个属性有很多个值,那我们该如何来分割呢?这时候我们就应该使用列表来表示了。列表类似于我们编程中的数组。所以可以存储属性的多个值。一个列表可以利用一对中括号将其包含起来。如下图所示:


obtain6.png


下面我们看一个具体的示例:


obtain7.png


整个图表示的是一个对象。对象包含了小波的一些信息。而地址:


obtain8.png


包含在对象中的一个对象。我们发现在属性QQ那一部分含有多个值:


obtain9.png

 

于是我们用列表将其表示出来。如果需要进一步了解该对象的关系,我们可以使用


obtain90.png


这个东西来解析该对象,解析结果如下图所示:


obtain91.png


我们可以看出一共有四个对象。地址对象,QQ中的两个对象,以及最外围的对象。如下图:


obtain92.png



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.tttoutiao.net
蜀ICP备13014270号-4 Version 5.0.0 release20160127

免费领取价值1888元求职宝典!

客服热线 400-862-8862

回到顶部

幸运赛车 福建快3走势 极速快3 三分PK拾平台 幸运飞艇官网 飞速赛车平台 极速快3 快乐赛车开奖 欢乐生肖 秒速时时彩