json数据解析

=====================================================

 

1.网络请求

2.json数据格式

3.完成网络请求的数据解析

 

======================================================

1.网络请求

网络编程基础知识

 

客户端(Client):移动应用(iOS、android等应用)

服务器(Server):为客户端提供服务、提供数据、提供资源的机器

请求(Request):客户端向服务器索取数据的一种行为

响应(Response):服务器对客户端的请求做出的反应,一般指返回数据给客户端

 

 

URL:全称是Uniform Resource Locator(统一资源定位符,俗称网址)

通过1个URL地址,能找到互联网上唯一的1个资源

例如:https://www.baidu.com/

 

URL三部分组成:协议    主机iP地址+端口号      资源

 

域名:IP地址不好记,用利于记忆的符号来代替IP地址,叫做域名

域名解析器   : 把网址里写的域名解析成对应的IP地址

www.sina.com  默认指定访问的资源

 

 

 

 

 

HTTP协议

HTTP的全称是Hypertext Transfer Protocol, 超文本传输协议, 访问的是远程的网络资源,格式是http://

http协议是在网络开发中最常用的协议:

<1>规定客户端和服务器之间的数据传输格式

<2>让客户端和服务器能有效地进行数据沟通

 

 

 

 

网络中数据

类型都是字符串,字符串通常有两种格式:

1.json格式(90%的数据格式    常用,简单)

[   ]   {key:value,key:value,key:value   }

 

2.XML格式(格式少,不常用 ,复杂)

 

 

2.网络数据的下载

<1>同步下载

单线程(使用主线程进行下载),在下载完成前,线程阻塞

 

    //同步下载

    //第一步:创建URL

    //将字符串网址转换为NSURL类型,OC中使用NSURL类型的网址

    NSURL * url = [NSURL URLWithString:@"http://10.0.8.8/sns/my/user_list.php?number=20&page=1"];

    //第二步:发送并得到数据

    //同步请求数据,函数运行较长时间,数据通过返回值获得

    NSData * data = [NSData dataWithContentsOfURL:url];

-----------------------------------------------------------------------------

 

<2>异步下载

开辟新线程负责下载,UI主线程不会卡死,程序仍可继续执行,当子线程完成下载,通过回调反馈数据

 

 

 

3. json数据解析

(JavaScript Object Notation)

简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript很容易解释它,而且 JSON 可以表示比"名称 / 值对"更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。

 

<1>Json数据的格式

JSON有两种表示结构,对象和数组。

{}中表示一个字典

[]中表示一个数组

对象结构以”{”大括号开始,以”}”大括号结束。中间部分多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码。

{

    key1:value1,

    key2:value2,

    ...

}

关键字是字符串,值可以是字符串,数值,true,false,null,对象或数组

数组结构以”[”开始,”]”结束。中间多个以”,”分隔的值列表组成,语法结构如代码。

[

    {

        key1:value1,

        key2:value2 

    },

    {

         key3:value3,

         key4:value4   

    }

]

 

 

======================================================

 

posted @ 2016-03-15 11:03  7舅老爷  阅读(135)  评论(0编辑  收藏  举报