Objective-C-使用NSMutableURLRequest发送POST请求,使用NSJSONSerialization解析JSON字符串

NSString *reqData = @"Data=";

    NSData *postDatas = nil;

    NSString *urlPath = @"url";

    

    //组json字符串数据

    NSMutableDictionary *mulDic = [[[NSMutableDictionary alloc] init] autorelease];

    [mulDic setValue:@"P003" forKey:@"type"];

    

    //NSJSONSerialization 组json字符串

    if ([NSJSONSerialization isValidJSONObject:mulDic]) {

        

        postDatas = [NSJSONSerialization dataWithJSONObject:mulDic options:NSJSONWritingPrettyPrinted error:nil];

        NSString *str = [[NSString alloc] initWithData:postDatas encoding:NSUTF8StringEncoding];

        reqData = [reqData stringByAppendingString:str];

        NSLog(@"reqData:%@",reqData);

        

        //NSData *postData = [reqData dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

        postDatas = [NSData dataWithBytes:[reqData UTF8String] length:[reqData length]];

        

    }

    

    NSString *len = [NSString stringWithFormat:@"%d",(int)[postDatas length]];

    NSURL *url = [NSURL URLWithString:urlPath];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

    [request setHTTPMethod:@"POST"];

    //[request setValue:@"*/*" forKey:@"accept"];

    //[request setValue:@"Keep-Alive" forKey:@"connection"];

    //[request setValue:@"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" forKey:@"user-agent"];

    //[request setValue:len forHTTPHeaderField:@"Content-Length"];

    //[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

    [request setHTTPBody:postDatas];

    

    NSData *retData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

    NSString *ret = [[NSString alloc] initWithData:retData encoding:NSUTF8StringEncoding];

    NSLog(@"%@",ret);
    //解析返回的数据JSON格式字符串

    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:retData options:NSJSONReadingMutableLeaves error:nil];

    NSLog(@"%@",dic);

你可能感兴趣的:(serialization)