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 如何用post方式上传json数据

iOS 如何用post方式上传json数据

iOS上的http请求和JSON解析

iOS Networking - 笔记 课程笔记目录: 1.http请求和JSON解析(所在文章) 2.Networking的MVC框架 以上文章的简介:iOS Networking ...

封装http请求返回统一json格式数据的网络操作

在开发android app时候,总会需要封装一些网络操作。 比如:如果服务器返回的是一个json格式数据,格式满足:{“ErrorCode”:XX, “ErrorMessage”:XXX,”Dat...
  • Kalwang
  • Kalwang
  • 2015年07月22日 20:46
  • 551

ios cfnetwork 发送http请求简单实例

  • 2012年11月15日 17:04
  • 33KB
  • 下载

JAVA发送HTTP请求操作类

  • 2013年09月04日 16:30
  • 3KB
  • 下载

http发送json格式数据请求 demo示例

http发送json格式数据请求 demo示例

java 发送 json、xml格式的 http请求,并读取响应response内容实例

java 发送 json、xml格式的 http请求,需要确定接受请求的的服务器地址(ip、端口、具体的目录) 然后设置连接属性信息 请求的数据格式(json 或 xml) 根据需要是否要向服务...

c++发送消息格式为JSON的http请求

JSON是类似于xml的一种用于信息交互的轻量级信息定义格式,可扩展性也很好。如何用C++写的代码来发送http请求,消息格式采用JSON呢?下面我一步一步介绍。所有步骤都经实际验证,测试平台为win...

C++发送消息格式为JSON的http请求

JSON是类似于xml的一种用于信息交互的轻量级信息定义格式,可扩展性也很好。如何用C++写的代码来发送http请求,消息格式采用JSON呢?下面我一步一步介绍。所有步骤都经实际验证,测试平台为lin...

Android中使用Json和Xml与服务器进行通信,使用代码发送Get和Post请求,http请求辅助类

1.通过xml数据域服务器通信 一、与服务器通信 类似于浏览器与服务器通信,Android应用也可以与Web服务器通信,比如Android应用可以访问Servlet、JSP、图...
  • he90227
  • he90227
  • 2014年07月14日 14:03
  • 1710
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios发送HTTP请求和操作JSON
举报原因:
原因补充:

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