网络篇-----解析json

解析json 四步走

  //1.创建url
    NSURL *url=[NSURL URLWithString:@"http://127.0.0.1:8080/MJServer/video"];
    //2.创建请求
    NSURLRequest *request=[NSURLRequest requestWithURL:url];
    //3.发送请求
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSD    ata *data, NSError *connectionError) {
        if(connectionError || data==nil){  //MBProgressHUD 为第三方框架
  [MBProgressHUD showError:@"网络超时,请稍后"]; return ; } 

  //4.解析json数据   NSDictionary *dict= [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];

解析登陆界面的api

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *user;
@property (weak, nonatomic) IBOutlet UITextField *pwd;
- (IBAction)loginBtn:(id)sender;
@end

@implementation ViewController

//退出键盘
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self.view endEditing:YES];
}

- (void)viewDidLoad {
    [super viewDidLoad];
}

- (IBAction)loginBtn:(id)sender {
    NSString *usertext=self.user.text;
    if(usertext.length==0){
        [MBProgressHUD showError:@"输入账号"];
        return;   }
    NSString *pwdtext=self.pwd.text;
    if(pwdtext.length==0){
    [MBProgressHUD showError:@"请输入密码"];
        return;
    }

//    NSLog(@"%@",pwdtext);
//
//
//发送用户名和密码给服务器
    NSString *sting=[NSString stringWithFormat:@"http://127.0.0.1:8080/MJServer/login?username=%@&pwd=%@",usertext,pwdtext];

    NSURL *url=[NSURL URLWithString:sting];

    NSURLRequest *request=[NSURLRequest requestWithURL:url];
//发送一个同步请求
//    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
//    NSLog(@"%@",data);
    //返回到主线程
    NSOperationQueue *queue=[NSOperationQueue mainQueue];
    //发送一个同步请求
    [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError)
    {
        NSLog(@"%@", [NSThread currentThread]);
             if(connectionError ||data ==nil){
                 [MBProgressHUD showError:@"请求失败"];
                 return; }

//    解析返回的json数据
    //SONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil  json数据转换为oc对象
    NSDictionary *tionary=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
    NSString *error=tionary[@"error"];
    if(error){
        [MBProgressHUD showError:error];
    }else{
        NSString *secces=tionary[@"secces"];
        [MBProgressHUD showSuccess:secces];
    }
         }];
}
时间: 2024-10-04 12:03:40

网络篇-----解析json的相关文章

iOS开发网络篇—发送json数据给服务器以及多值参数

iOS开发网络篇—发送json数据给服务器以及多值参数 一.发送JSON数据给服务器 发送JSON数据给服务器的步骤: (1)一定要使用POST请求 (2)设置请求头 (3)设置JSON数据为请求体 代码示例: 1 #import "YYViewController.h" 2 3 @interface YYViewController () 4 5 @end 6 7 @implementation YYViewController 8 9 - (void)viewDidLoad 10

【转】iOS开发网络篇—发送json数据给服务器以及多值参数

原文: http://www.cnblogs.com/wendingding/p/3950132.html 一.发送JSON数据给服务器 发送JSON数据给服务器的步骤: (1)一定要使用POST请求 (2)设置请求头 (3)设置JSON数据为请求体 代码示例: 1 #import "YYViewController.h" 2 3 @interface YYViewController () 4 5 @end 6 7 @implementation YYViewController 8

Android异步加载访问网络图片-解析json

来自:http://www.imooc.com/video/7871 推荐大家去学习这个视频,讲解的很不错. 慕课网提供了一个json网址可以用来学习:http://www.imooc.com/api/teacher?type=4&num=30.我们的任务就是建立一个listview,将json提供的一些参数,主要是name,picSmall,description显示出来,效果图如下:  主要思路如下:listview中图片的加载,程序中使用了两种方式,一种是使用Thread类,一种是使用As

iOS开发网络篇—JSON数据的解析

iOS开发网络篇—JSON数据的解析 iOS开发网络篇—JSON介绍 一.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典和数组 {"name" : "jack", "age" : 10} {"names" : ["jack", "rose", "jim

iOS开发网络篇—XML数据的解析

iOS开发网络篇—XML数据的解析 iOS开发网络篇—XML介绍 一.XML简单介绍 XML:全称是Extensible Markup Language,译作“可扩展标记语言” 跟JSON一样,也是常用的一种用于交互的数据格式,一般也叫XML文档(XML Document) XML举例 <videos> <video name="小黄人 第01部" length="30" /> <video name="小黄人 第02部&qu

Android网络之数据解析----使用Google Gson解析Json数据

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4063452.html 联系方式:[email protected] [正文] 文章回顾: Android网络之数据解析----SAX方式解析XML数据 一.Json数据的介绍                                                             

核心技术篇:6.android网络编程之json解析

前言:好一段时间没写博客了,说最近挺忙的,感觉像是个借口,每天还是同样的24个小时,每天还是同样的5:30就准时下班,每天晚上还是有大量的空余时间...最直接的原因就是,最近堕落了.脑子里也时常会有很多想法浮现,都是些比较实际的想法,但往往就是浮现那一下,心情激动了一下,心里默默告诉自己,有时间就要这么做...好多想法都被一些其它的诱惑给磨灭掉了,要么是打球.要么是看电影.要么是处理一些乱七八糟的事去了.总之,近段时间,花在技术上的时间很少很少,好好反思下. 前段时间,来了一位新疆的客户,提出了

[iOS 多线程 &amp; 网络 - 2.1] - 解析json

A.iOS中json的基本使用 1.解析json数据 (1)json反序列化 对象{}格式 {key : value, key : value,...} 的键值对的结构可以反序列化为OC中的NSDictionary数组[]格式 ["java","javascript","vb",...]可以反序列化为OC中的NSArray 提示JSON的数据格式与OC中的快速包装方法非常类似JSON的数据格式同样支持嵌套 (2)json工具 从iOS 5开始,使

网络HTTP、JSON、XML解析等 复习

一.一个HTTP请求的基本要素1.请求URL:客户端通过哪个路径找到服务器 2.请求参数:客户端发送给服务器的数据* 比如登录时需要发送的用户名和密码 3.返回结果:服务器返回给客户端的数据* 一般是JSON数据或者XML数据 二.基本的HTTP请求的步骤(移动客户端)1.拼接"请求URL" + "?" + "请求参数"* 请求参数的格式:参数名=参数值* 多个请求参数之间用&隔开:参数名1=参数值1&参数名2=参数值2* 比如: