iOS 【network-HTTP请求/JSON解析/XML解析】

一、一个HTTP请求的基本要素
1.请求URL:客户端通过哪个路径找到服务器

2.请求参数:客户端发送给服务器的数据
* 比如登录时需要发送的用户名和密码

3.返回结果:服务器返回给客户端的数据
* 一般是JSON数据或者XML数据

二、基本的HTTP请求的步骤(移动客户端)
1.拼接"请求URL" + "?" + "请求参数"
* 请求参数的格式:参数名=参数值
* 多个请求参数之间用&隔开:参数名1=参数值1&参数名2=参数值2
* 比如:http://localhost:8080/MJServer/login?username=123&pwd=456

2.发送请求

3.解析服务器返回的数据

三、JSON解析
1.利用NSJSONSerialization类解析
* JSON数据(NSData) --> Foundation-OC对象(NSDictionary、NSArray、NSString、NSNumber)
+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error;

2.JSON解析规律
* { } --> NSDictionary @{ }
* [ ] --> NSArray @[ ]
* " " --> NSString @" "
* 10 --> NSNumber @10

四、NSURLConnection
1.发布异步请求01--block回调
+ (void)sendAsynchronousRequest:(NSURLRequest*) request
    queue:(NSOperationQueue*) queue
    completionHandler:(void (^)(NSURLResponse* response, NSData* data, NSError* connectionError)) handler
* request : 需要发送的请求
* queue : 一般用主队列,存放handler这个任务
* handler : 当请求完毕后,会自动调用这个block

2.利用NSURLConnection发送请求的基本步骤
1> 创建URL
NSURL *url = [NSURL URLWithString:@"http://4234324/5345345"];

2> 创建request
NSURLRequest *request = [NSURLRequest requestWithURL:url];

3> 发送请求
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:
 ^(NSURLResponse *response, NSData *data, NSError *connectionError) {
     4> 处理服务器返回的数据
 }];

五、XML
1.语法
1> 文档声明
<?xml version="1.0" encoding="UTF-8" ?>

2> 元素
3> 属性
<videos>
    <video name="小黄人 第01部" length="10"/>
    <video name="小黄人 第01部" length="10"/>
</videos>
* videos和video是元素(节点)
* name和length叫做元素的属性
* video元素是videos元素的子元素

2.解析
1> SAX解析:逐个元素往下解析,适合大文件
* NSXMLParser

2> DOM解析:一口气将整个XML文档加载进内存,适合小文件,使用最简单
* GDataXML


你可能感兴趣的:(json解析,xml解析,HTTP请求步骤)