如何通过AFNetWorking 2.0将数据以JSON格式发送到网络?

时间:2014-01-16 04:05:41

标签: ios json post afnetworking-2

我需要发送我的登录信息并通过POST传递给JSON数据变量中的Web服务器 我试过了:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *params = @{@"email" : email, @"password" : pass };
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager POST:URLString parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@", responseObject);
} failure:
 ^(AFHTTPRequestOperation *operation, NSError *error) {
     NSLog(@"Error: %@", error); }];

但有:

Data = "<null>";
Message = "unexpected end of JSON input";
Result = fail;

1 个答案:

答案 0 :(得分:0)

您需要将字典转换为JSON对象。 Atm通过参数发送字典将无效,因此您的错误。

考虑使用SBJson库,它可以将您的字典转换为JSON字符串对象,并且还可以再次将JSON字符串解析为字典。

SBJson framework

然后你只需要包含头文件,如下所示:

#import "SBJson.h

然后你就可以在你的词典中使用类别方法了:

NSDictionary *params = @{@"email" : email, @"password" : pass };
NSString *jsonString = [params JSONRepresentation];
//and then you send the jsonString as the params