您的位置:首页 > Web前端 > JavaScript

json数据解析

2016-03-15 11:03 435 查看
=====================================================

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

}

]

======================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: