一、JSON的简单使用
1.我们先来看一下示例程序里边,产品推荐页面,

在我们这个产品推荐页面里面,

它是一个CollectionViewController,注册的是一个xib的一个类型,xib显示这个cell,叫做item,然后,这个邮箱大师啊,包括这个图标,以及这些东西,都是从哪儿来的呢,都是从一个,也是一个数据文件,只不过它是一个JSON了,不叫plist,
我们说,你如果写成plist形式,我们说,这个xib,可能是一个字典,这里边,有一个Key,就是图标,有一个Key,就是文字,
然后呢,这个JSON呢,也是可以达到同样的目的,它都可以用来存储数据,包括字典啦、数组啦、之类的东西,
接下来,我们就来给大家去看一下啊,这个文件,

在我们的示例程序里边,有一个叫做more_project.json,的文件,打开,

文字太小了啊,我用xCode打开吧,

这个呢,就是我们JSON的一个文件,它本质上,就是以一定格式写出来的字符串而已,它就是一个字符串,只不过它有一定的格式,我们管这种格式,叫做JSON,它本质上,也是一坨字符串,
然后呢,这个里边,首先,这儿有一个中括号,

中括号,表示数组,
大括号,表示字典,
实际上,这一段儿数据,这整个这个文件,这一坨字符串,表示的什么东西,最外面,是一个中括号,是一个数组,就跟我们plist,最外层的根节点,是一个Array,是一样的,然后呢,这个Array下面,又有很多大括号的东西,字典,plist里边,也是一样的,相当于是Array下面,有很多的Dictionary,然后呢,Dictionary,我们说,字典是键值对的,它这个里边,冒号左边,就是Key,冒号右边,就是Value,这就是一个字典的Key-Value,它们的功能,都是一样的,都是可以用来保存一些数据,不一样的,仅仅是格式的区别,
我们plist,用这个文字的形式,去打开的话,它是一堆XML,一种标签儿的一种格式,然后呢,我们这个JSON,是这种格式,实际上,大家以后在学习网络以后呢,传输网络的一些数据啊,都是用JSON的,然后,如果写过网络开发的同学,就会对JSON不陌生啊,然后呢,这就是我们说的JSON的格式,然后呢,我们主要是来学习一下解析它,
这个里边呢,记着,JSON和plist,就是格式不一样,功能都是一样的,都是用来保存一些数据的,接下来,我们就来解析一下啊,
2.然后呢,我们先新建一个项目,

06-json解析,

首先呢,来到我们的ViewController,再把我们刚才的文件,JSON,拖过来,more_project.json,

点击Finish,

解析这个json,

解析以后呢,我们也是要以模型的形式,跟plist一样,要字典转模型,等等一些东西,接下来,我们就一步一步来做,
3.首先呢,我们在这个ViewController里边,直接去解析它,
首先,在interface里边,我们说,plist里面,根节点是什么,我在外面,就声明一个什么,JSON,也是一样,

根节点是一个Array,我在这个里边,也要有一个Array,
@property(nonatomic,strong)NSArray *products;