在NSDictionary中嵌入NSArray时,AFNetworking请求失败

时间:2017-01-27 17:06:23

标签: ios objective-c afnetworking

所以,基本上我正在尝试针对WS创建一个JSON请求,其中一个参数是一个使用AFNetworking 3.0的数组我的Json应该类似于:

{
  "filtrosAlerta": [
    {
      "data": "",
      "type": ""
    }
  ],
  "frecuency": 0
}

后端错误实际上没有多说(请求失败:内部服务器错误(500))但是在以不同方式对此进行故障排除之后,字典中的数组似乎是问题所在。所以我通过AFNetworking 3.0发送以下请求:

 AFHTTPSessionManager        *manager = [AFHTTPSessionManager manager];
AFJSONRequestSerializer     *serializer = [AFJSONRequestSerializer serializer];
manager.requestSerializer = serializer;

[manager.requestSerializer setAuthorizationHeaderFieldWithCredential:credential];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", @"text/html",nil];

NSString *url = @"http://www.example.com/webservice"

NSArray  *filters = @[@{@"data" : @"java", @"type" :@"query"}, @{@"data" : @"29", @"type" :@"provincia"}];        
NSDictionary *parameters = @{@"filtrosAlerta":filters, @"frecuenciaNotif":[NSNumber numberWithInt:0]]

[manager POST:url parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nullable task, id response) {
    completionBlock(response, nil);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    completionBlock(nil, error);
}];

我的问题是,当我在NSDictionary中添加NSArray时,我从后端服务器收到错误。如果我尝试在xcode中调试“参数”NSDictionary,我会得到以下内容:

{filtrosAlerta = ({data = java;type = query;}{data = 29;type = provincia;});
frecuenciaNotif = 7;}

请注意,而不是正常的“[]”Json数组,我似乎得到一个似乎不正确的“()”数组,但这实际上是xcode调试器,我相信最终AFNetworking将获取NSDictionary中的每个对象并创建正确的JSON字符串!我一直在环顾四周,尝试了不同的答案,但还是无法正常工作。

0 个答案:

没有答案