我試圖使用AFNetworking庫發送POST請求到像這樣的URL:JSON錯誤AFNetworking
https://m.com/api/2.0/basic/sim_balance.json
這預計是我的參數(URL中的用戶名和密碼作爲NSDictionary)。
的URL給出了一個JSON回來這樣的:
{
"valid_until": "2011-05-05 22:13:28",
"sms": 0,
"sms_super_on_net_max": 300,
"voice_super_on_net": 0,
"credits": "0.00",
"bundles": [],
"is_expired": true,
"sms_super_on_net": 0,
"voice_super_on_net_max": 3600,
"data": 0
}
這是我的請求函數:
+(void) request:(NSString *)endpoint : (NSDictionary *) parameters
{
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:endpoint parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
}
我總是得到這樣的錯誤:
Error: Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (JSON text did not start with array or object and option to allow fragments not set.) UserInfo=0x904b7e0 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}
我驗證了JSON和服務器發送有效的JSON。
有人可以幫我解決這個問題嗎?
你曾經設置過'AFHTTPRequestOperationManager'實例的'requestSerializer'屬性嗎? –
不,我需要這樣做嗎? – user1007522
在您的失敗塊中,嘗試使用'operation.responseString'或'operation.responseData'檢查響應的原始內容。 –