2016-03-04 83 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: –