【问题标题】:Wrong response parsing in AFNetworkingAFNetworking 中的错误响应解析
【发布时间】:2017-02-28 21:55:16
【问题描述】:

AFNetworking 收到正确的响应,但解析返回错误。我明白,我在管理器中设置了错误的设置,但无法理解,这是对的。

我的代码:

manager = [[AFHTTPSessionManager alloc] initWithBaseURL:kAuthorizationUrl];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/x-plist",nil];
[manager POST:@"someURL" parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject){
    NSLog(@"");
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    NSLog(@"");
}];

返回错误:

“字符 35 周围的对象中的键没有值。”

邮递员的回复正文:

{
"featureAppleTVSynchronisation" = "false";
"featureDirectPlay" = "true";
"googleLoginSwitchOn" = "true";
}

响应标头:

Accept-Ranges →bytes
Access-Control-Allow-Credentials →true
Access-Control-Allow-Methods →GET, POST, OPTIONS
Connection →keep-alive
Content-Encoding →gzip
Content-Type →application/x-plist; charset=UTF-8
Date →Tue, 18 Oct 2016 19:57:05 GMT
Server →Apache/2.4.6 (CentOS)
Transfer-Encoding →chunked
Vary →Accept-Encoding
X-Varnish-Retries →0
cache-control →private, no-cache, no-store, must-revalidate, max-age=0
expires →Tue, 18-Oct-2016 19:00:28 GMT

【问题讨论】:

  • 这不是 JSON,而是 pList(是的 - 我错过了一个 ; 标志)
  • AFXMLResponseSerializer 实例的响应序列化程序吗?即:manager.responseSerializer = [AFXMLResponseSerializer new];
  • 你输入了application/x-plist,所以如果你的服务器管理它,它应该返回一个plist信息。如果您使用AFJSONRequestSerializer(或响应),它可能会以 JSON 响应。

标签: ios objective-c afnetworking


【解决方案1】:

好的,我找到了解决方案: 正确的代码

manager = [[AFHTTPSessionManager alloc] initWithBaseURL:kAuthorizationUrl];
// Attention please! Here is what I changed!
manager.responseSerializer = [AFPropertyListResponseSerializer serializer];
// End
[manager POST:@"someURL" parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject){
    NSLog(@"");
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    NSLog(@"");
}];

【讨论】:

    猜你喜欢
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多