2016-06-20 4 views
0

Я хочу отправить NSDictionary данные с помощью метода AFNetworkingPOST и получить результат с сервера. это мой NSDictionary:Метод POST Ответ AFNetworking не завершен

{ 
    "category_id" = "-1"; 
    "city_id" = "-1"; 
    "degree_id" = "-1"; 
    "experience_id" = "-1"; 
    industries =  (
       { 
      id = 2; 
     }, 
       { 
      id = 4; 
     }, 
       { 
      id = 3; 
     } 
    ); 
    "position_id" = "-1"; 
    "salary_id" = "-1"; 
    skills =  (
       { 
      aa = id; 
     }, 
       { 
      aa = asdasda; 
     } 
    ); 
    "type_id" = "-1"; 
} 

когда разошлите NSDictionary мой сервер получить мои данные, как это:

{ 
    "category_id" = "-1"; 
    "city_id" = "-1"; 
    "degree_id" = "-1"; 
    "experience_id" = "-1"; 
    industries =  (
     2, 
     4, 
     3 
    ); 
    "position_id" = "-1"; 
    "salary_id" = "-1"; 
    skills =  (
     id, 
     asdasda 
    ); 
    "type_id" = "-1"; 
} 

Я так растерялся от этого !!!

отрасли & навыки являются массивом словаря в моем NSDictionary, но когда сервер для получения не отображает ключ и только показывает значение в массиве !!!

пожалуйста, руководство по этому вопросу.

это мой POST метод:

self.params = [[NSMutableDictionary alloc]init]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.jobCategory integerValue]] forKey:@"category_id"]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.jobCity integerValue]] forKey:@"city_id"]; 
    [self.params setObject:self.object.industry forKey:@"industries"]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.educationDegree integerValue]] forKey:@"degree_id"]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.experience integerValue]] forKey:@"experience_id"]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.jobType integerValue]] forKey:@"type_id"]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.jobSalary integerValue]] forKey:@"salary_id"]; 
    [self.params setObject:[NSNumber numberWithInteger:[self.object.jobPosition integerValue]] forKey:@"position_id"]; 


    [self.params setObject:[NSMutableArray array] forKey:@"skills"]; 
    [[self.params objectForKey:@"skills"] addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:@"id",@"aa", nil]]; 
    [[self.params objectForKey:@"skills"] addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:@"asdasda",@"aa", nil]]; 
    //NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self.params options:NSJSONWritingPrettyPrinted error:nil]; 
    //NSString *str = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 
    NSLog(@"%@",self.params); 
    NSString* path = [NSString stringWithFormat:@"%@%@" , [PublicMethods getStrings:@"url"],[PublicMethods getStrings:@"searchJob"]]; 
    [self.network callPOSTWebServiceWithPath:path AndWithParameters:self.params withCallback:^(NSDictionary *result) 
    { 
     NSLog(@"%@",result); 
     if ([[result objectForKey:@"result"]boolValue]) 
     { 
      NSLog(@"%@",[result objectForKey:@"data"]); 
     } 
     else 
     { 
      //error accured 
     } 

    }]; 
+0

Второй журнал, который вы показываете, - 'self.params'? Вы зарегистрировали 'self.object.industry', чтобы проверить, правильно ли это? Что такое журнал '[self.params objectForKey: @" skills "]'? Я не понимаю, что случилось. – Larme

+0

@Larme мой друг, когда я вхожу [self.params objectForKey: @ "навыки"] показать мне это: навыки = ( { аа = ID; }, { аа = asdasda; } ) – kasiri182

ответ

0

Это очень простой вопрос. Вы отправляете строковые данные, в которые входит NSDictionary, вложенный NSArray. Но вы отправляете его на сервер. Ваш код отраслей и навыков, в которых есть один и тот же ключ в массиве. Итак, когда он отправляется на сервер, а затем возвращается значение без ключа. Это правильно.

Хотите увидеть возвращаемое значение с помощью ключа. Просто измените свой id id1, id2, id3. Что касается этого, переменная aa такая же.

Наконец, вы увидите, что ключ со значением будет возвращен. Удачи!

+0

мой друг Я меняю свои ключи на id1 и id2, но у меня есть эта проблема !!! – kasiri182

+0

попытаться сделать это отраслей = ( { "ID" = "2" }, { "ID" = "4" }, { "ID" = "3" } ) –