2016-03-04 2 views
0

Я пытаюсь опубликовать строку json как NSString. Однако при отправке запроса Xcode сбой и отпечатки: «Недопустимый тип верхнего уровня в записи JSON». Вот мой код:Сбои на AFNetworking POST

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
manager.requestSerializer = [AFJSONRequestSerializer serializer]; 
manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 


[manager POST:signupBaseURLString parameters:myJSONStringObject success:^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSLog(@"responseObject is %@", responseObject); 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"post request error is %@", error); 
}]; 
+2

Ваш объект jsonstring действителен? –

+0

см. Этот раз http://stackoverflow.com/questions/27166711/invalid-top-level-type-in-json-write-in-swift –

+0

как вы создаете myJsonStringObject. Вам не нужно указывать строку, как это делает сериализатор запросов. – Alistra

ответ

0

Параметры должны быть NSDictionary, а не строкой. Я предполагаю, что myJSONStringObject - это строка. Если строка является кодировкой объекта JSON, вам нужно вернуть ее обратно в словарь или, предпочтительно, использовать словарь, который вы закодировали.

+0

Да, это строка, потому что мне нужно отправить ее в виде строки. –

+0

'parameters' должен быть NSDictionary, а не строкой. Прочтите документы: http://cocoadocs.org/docsets/AFNetworking/2.0.0/Classes/AFHTTPRequestOperationManager.html#//api/name/POST:parameters:success:failure: –