1
我在使用AFNetworking 2.0解析JSON時遇到了一些問題。當新行字符帶有響應數據時,它總是執行失敗塊。使用AFNetworking 2.0解析JSON時出現錯誤,當新行字符出現在數據響應中時
我的代碼 -
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[manager GET:@"http://mobile.MYSERVICENAME/outbox.aspx?u=SONALI2547&p=25472870&sender=sjssgn" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"%@", responseObject);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"%@", error);
}];
錯誤 -
錯誤域= NSCocoaErrorDomain代碼= 3840 「的操作無法完成 (可可錯誤3840)」 (大約在 字符512的非轉義控制字符。)UserInfo = 0xa279660 {NSDebugDescription =未轉義的 字符512附近的控制字符。}
我檢查我檢查jsonlint它給我上述錯誤我的網址。
請問http://jsonlint.com說你的JSON有效嗎?什麼是控制角色? – Wain
@wain當新行出現時,它顯示無效的JSON,但相同的URL在瀏覽器中運行良好,並且使用JSONParsing而不使用AFNetworking時,僅當我使用AFNetworking2.0時會發生問題。 – Ravikant
獲取更多信息的最簡單方法是獲取響應數據(因爲它以字節序列形式出現,又名NSData對象),從中創建一個NSString(例如'[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding ]')並將該字符串輸出到控制檯。然後檢查索引512處的字符。注意:在解碼的JSON中不允許非轉義的控制字符表示源字符串。 – CouchDeveloper