ios发送HTTP请求和操作JSON

原创 2013年12月04日 20:23:12

发送HTTP请求的代码:

-(void) queryUserDataFromServer
{
    YLSClientInfo *clientInfo = [YLSClientInfo new];
    NSString *versionCode = clientInfo.currentClientVersion;// 应用当前版本号
    
    YLSUserData *userData = [YLSUserDataUtil readUserData];
    NSString *userId = userData.userId;// userId
    
    NSString *url = [QUERY_USER_BY_USERNAME_SERVICE_URL stringByAppendingString:userId];
    
    NSMutableURLRequest *request = [NSMutableURLRequest new];
    [request setURL:[NSURL URLWithString:url]];
    [request setHTTPMethod:@"GET"];
    [request setValue:@"true" forHTTPHeaderField:@"xhr"];
    [request setValue:versionCode forHTTPHeaderField:@"clientVersionCode"];
    
    loginResponse = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
}

另外,ios会自动处理cookie的保存和发送,一般不需要特别编码处理

操作JSON的代码:

    NSError *error = nil;
    NSDictionary *jsonArray = [NSJSONSerialization JSONObjectWithData:loginResponse options:kNilOptions error:&error];// loginResponse是NSData类型,包含两个key,分别是code和result
    
    NSDictionary *result = [jsonArray objectForKey:@"result"];// 取出result字段
    
    NSString *enterpriseId = [result objectForKey:@"enterpriseId"];
    // 其他字段
    
    NSDictionary *features = [result objectForKey:@"versionFeature"];// versionFeature是嵌套的另一个object
    
    NSNumber *maxServiceCount = [features objectForKey:@"maxServiceCount"];
    // 其他字段

HTTP响应的返回值是一个NSData*,用ios原生的NSJSONSerialization类就可以处理。上面代码处理的文本格式是:

{
    "result":
        {
            "enterpriseId":xxxx,
            "userId":xxxx,
            "versionFeature":
                {
                     "maxServiceCount":20,
                     "maxEmployeeCount":5
                }
        },
     "code":0
}


可以看出,在ios中,解析后的JSON对象,是看做NSDictionary来处理
版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS 向后台发送json数据

此处有大坑一个,后台需要json数据,本以为json和字典一样发送,结果后台接收不到,想尽了一切办法。。。。 直接上代码 - (void)didConfirmButtonClickWithItem...
  • yuanpeng1014
  • yuanpeng1014
  • 2016年08月11日 19:11
  • 2434

iOS上的http请求和JSON解析

iOS Networking - 笔记 课程笔记目录: 1.http请求和JSON解析(所在文章) 2.Networking的MVC框架 以上文章的简介:iOS Networking ...
  • u012265444
  • u012265444
  • 2015年12月01日 09:54
  • 1073

httpPost对JSON发送和接收

public static String postURL(String commString, String address, String encode) { String rec_...
  • u010963948
  • u010963948
  • 2016年09月20日 19:04
  • 2702

使用python通过http发送json

因为需要通过http协议向服务器post一些数据,于是用python写了一个相关小程序,没想到遇到了一些问题,于是就在这里将这个问题记录一下。 先上源码: import urllib.reques...
  • Don_sandman
  • Don_sandman
  • 2017年08月07日 11:18
  • 644

JavaWeb(三) ----Servlet处理HTTP响应,请求

Servlet处理HTTP响应设置响应状态行状态行:HTTP协议,状态码,状态描述。HTTP状态码: 1. 100-199 :表示信息性代码,标示客户端应该采取其他动作,请求正在进行。 2. 20...
  • qq_36257276
  • qq_36257276
  • 2016年12月25日 15:16
  • 307

HTTPClient4.5.2学习笔记(五):流式请求API(Fluent API)

我个人感觉这个就像JQUERY的AJAX设计一样,简化一次HTTP请求的代码数量,可以像流水线一样往请求上添加需要的头、内容、参数。 5.1.请求facade API 从4.2版本开始,Htt...
  • chenpeng19910926
  • chenpeng19910926
  • 2017年05月12日 14:05
  • 418

http请求和json解析

xml文件     android:layout_width="match_parent"     android:layout_height="match_parent"     andr...
  • zhyqq12345
  • zhyqq12345
  • 2016年03月30日 12:25
  • 234

HTTP工作原理及HTTP请求、响应报文解读

原文链接:http://blog.csdn.net/laoyang360/article/details/8280478 一、HTTP原理 1.HTTP工作原理(实例分析): ht...
  • xinyuan510214
  • xinyuan510214
  • 2016年05月24日 14:48
  • 1101

AJAX请求和普通HTTP请求区别

两者本质区别:AJAX通xmlHttpRequest象请求服务器服务器接受请求返数据实现刷新交互普通http请求通httpRequest象请求服务器接受请求返数据需要页面刷新AJAX请求 普通请求 ...
  • hefeng6500
  • hefeng6500
  • 2017年07月13日 17:45
  • 816

Http请求与Http响应详解

Http协议是超文本传输协议,用于在互联网请求资源、Http请求与响应详解
  • yuanmxiang
  • yuanmxiang
  • 2016年08月29日 09:41
  • 890
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios发送HTTP请求和操作JSON
举报原因:
原因补充:

(最多只允许输入30个字)