Как использовать ASIFormDataRequest для HTTP-массива объектов NSDictionary

Эй, мне нужно сделать HTTP-запрос POST с массивом объектов NSDictionary.

Однако когда я это делаю, я замечаю на стороне сервера, что объект NSDictionary не десериализуется в хэш . Он десериализуется в строку - это не то, что я хочу.

Вот как я отправляю параметр со стороны клиента (IPhone):

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
for (ABContact *c in contactsWithEmailsOrPhones){
  NSString *phoneNumber = [[ABContactsHelper class] contactPhoneNumber:c];
  NSString *email = [[c emailArray] objectAtIndex:0];
  NSLog(@"looping: %@, %@", phoneNumber, email);
  NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
                         phoneNumber,
                         @"phone", 
                         email,
                         @"email", 
                         [c firstname],
                         @"firstname",
                          [c lastname],
                          @"lastname", nil];

    [request addPostValue:dict forKey:@"contacts[]"];
}

[request setDelegate:self];
[request startAsynchronous];

Вот как он выглядит, когда он десериализуется на стороне сервера (рельсы):

Started POST "/app/find_friends" for 67.164.97.48 at Thu Sep 23 14:40:37 -0700 2010
Processing by app#find_friends as HTML
Parameters: {"contacts"=>["{\n    email = \"xx\";\n    firstname = xx;\n    lastname = xx;\n    phone = \"xx\";\n}", "{\n    email = \"xx\";\n    firstname = xx;\n    lastname = xx;\n    phone = \"xx\";\n}"]}
Completed 200 OK in 0ms (Views: 0.3ms | ActiveRecord: 0.0ms)

Я уверен, что это распространенная проблема, которая люди сталкиваются. Так что решение для этого определенно есть.

Заранее благодарим за все комментарии / ответы.

6
задан Srikar Appalaraju 7 December 2012 в 10:50
поделиться