ios - 哪些类型可以放入 AFNetworking POST 参数中?

标签 ios objective-c afnetworking

任何人都可以解释我可以在我的词典中为 POST 请求放入什么类型。我可以放入 NSString 中的任何其他内容吗?

self.manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:url];
self.manager.requestSerializer = [AFJSONRequestSerializer serializer];

AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
[self.manager setResponseSerializer:responseSerializer];
self.manager.responseSerializer.acceptableContentTypes = [self.manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];

double addTime = [[NSDate date] timeIntervalSince1970] * 1000;

NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:
                            [SOUser sharedManager].Id, @"id",
                            [SOUser sharedManager].Token, @"token",
                            @25, @"name",
                            @"I am testing Ican", @"description",
                            @"progress", @"status",
                            @"public_g", @"privacy",
                            addTime, @"addtime",
                            addTime, @"edittime",
                            @"ddddd", @"image",
                            @"1419424397", @"endtime", nil];

NSLog(@"%@", parameters);

[self.manager POST:@"api/goal/"
        parameters:parameters
           success:^(AFHTTPRequestOperation *operation, id responseObject) {

           } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

           }];

我可以输入double吗?或者 NSArraydouble

最佳答案

当使用 AFJSONRequestSerializer 时,您会受到 NSJSONSerialization 的限制,其文档说:

An object that may be converted to JSON must have the following properties:

  • The top level object is an NSArray or NSDictionary.

  • All objects are instances of NSString, NSNumber, NSArray, NSDictionary, or NSNull.

  • All dictionary keys are instances of NSString.

  • Numbers are not NaN or infinity.

Other rules may apply. Calling isValidJSONObject: or attempting a conversion are the definitive ways to tell if a given object can be converted to JSON data.

因此,将您的double 包装在NSNumber 中,您可以将其包含在您为参数 传递的字典中。

关于ios - 哪些类型可以放入 AFNetworking POST 参数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27549283/

相关文章:

iphone - objective-c - 标签变量

header - AFNetworking 似乎没有使用 AFJSONRequestOperation 发送授权 header

ios - 同步随机数

ios - 设备旋转时如何使 UIView 阴影拉伸(stretch)?

iPhone应用程序 : Yelp Api integration problem

ios - XMPPFramework 没有日志输出,通过 cocoapods 安装

objective-c - Swift:需要类前缀?

ios - AFNetworking - 获取响应内容长度

php - AFNetworking multipartFormRequestWithMethod 适用于模拟器但不适用于设备

ios - 推送通知 token 是 Mac 和 iOS 独有的吗?