项目中的连接本地服务器以及JSON解析

在做项目的时候用到了连接本地服务器以及JSON编码。

首先是在本地电脑上搭建服务器,但是在MAC上,apache是自带的,唯一需要安装就是数据库,apache的启动很简单,只要在terminal里输入:sudo apachectl -k start就可以,然后输入密码就OK了,同时开启数据库。

接下来就是php编写了,我查了一些资料,主要连接方式有两种,POST 和 GET,我选了POST,虽然用GET也没关系,但是因为GET会暴露参数,所以还是用了POST,在写php时我查了一些关于JSON编码的方式,网络上有两种方式,一种是直接进行编码:

<?php 
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; 
var_dump(json_decode($json)); 
var_dump(json_decode($json, true)); 
?> 

还有一种就是通过数组来编码(也是我现在在用的方法):

while($row=mysql_fetch_object(($result)))//取出结果并显示
        {
            $u = new User();
            $u->user_id=$row->user_id;
            $u->username=$row->username;
            $u->pic_url = $row->pic_url;
            $arr[] = $u;
       }
    
    echo json_encode($arr);
通过上面两种方法,分别可以对数据进行JSON编码,到时候在程序操作过程中会方便很多。

做完了JSON编码,那么php端的基本就完成了,接下来就是本地的连接到服务器上去了。

程序连接本地服务器步骤主要为:


1.创建一个请求 :NSMutableURLRequest  (需要提供URL)

2.创建需要的数据体(就是进行POST请求需要发送的参数)

3.建立异步连接

 

 [NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        // 网络请求结束之后执行!
}

在上面的代码中需要创建一个进程,而这个进程不是主进程(mainQueue) 因为如果是主进程的话,那么用户在联网的时候是不能做其他事情的,这样不合理。

而且代码返回来的是data形式的数据,data形式可以转换成string类型的,也可以转换成字典类型,因为要用到模型,所以我选择转换成字典类型的(也就是对JSON的解析):


NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
            NSLog(@"RESPONSE DATA: %@", dic);

转换成NSDictionary很简单,因为系统自带的API里的NSJSONSerialization速度相对于其他的JSON解析方式来说快很多,而且不必导入其他的第三方框架。这样就完成了对JSON的解析。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值