ios - AFNetworking 中的 JSON 错误

标签 ios objective-c json ios7 afnetworking-2

我正在尝试使用 AFNetworking 库向如下 URL 发送发布请求:

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 将请求正文序列化为 JSON,您需要设置其 requestSerializer 的值:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager POST:....];

如果不设置 requestSerializer 属性,则管理器对象将使用 x-www-form-urlencoded默认序列化。

但请注意,AFHTTPRequestOperationManager 默认情况下将处理响应正文中的 JSON。

关于ios - AFNetworking 中的 JSON 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24529755/

相关文章:

iphone - 4 英寸屏幕 IOS 应用程序中的黑色空间

objective-c - 我可以使用 AVFoundation 将下载的视频帧流式传输到 OpenGL ES 纹理中吗?

objective-c - 如何将“3:31” mm:ss从字符串转换为代表秒数的整数

c++ - 在 C++ 项目中使用 (OSX) Core MIDI

javascript - Metricsgraphics 日期访问 - 折线图

json - JQuery 奇怪的语法

java - 构造函数未定义使用动态 ViewPager

iphone - 切换 View 时奇怪的 UI 行为(滑入)

ios - 使用 self.property 释放属性 - 分析器中的错误

iOS MapKit - 在 map 上绘制形状