AFNetworking返回无效的响应对象

时间:2014-08-04 17:52:29

标签: ios json afnetworking afnetworking-2

我正在考虑在我的一个项目中使用AFNetworking。但我有一个问题。

以下是代码:

        AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
  //      manager.responseSerializer = [AFJSONResponseSerializer serializer];
        [manager GET:completeUrlString parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
            NSLog(@"%@", responseObject);


        } failure:nil];

问题是respose对象。它是一个只有里面值的字典。该值显示为NSObject!那应该是一个带有几个键/值对的NSDictionary。

这是原始的json:

{

    "signInResponse": {
        "userName": "971777771554300",
        "duration": 315360000000,
        "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "userId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "idleTimeout": 2592000000
    }

}

为什么解析器失败?另外我想要注意的是,url并不以“.json”结尾,因为它是动态创建的。

另一个小问题:几个resposes返回需要在其中的键所在的json对象 响应字典的形式为“@importantKey”或“#key”。我记得有些解析器无法在响应中返回这些键,这对AFNetworking来说是个问题吗?

1 个答案:

答案 0 :(得分:0)

如果您使用alamofire,这个小片段可以提供帮助,也许您需要像这样进行投射:

var innerData = data!["signInResponse"]!!
var innerData2 = innerData[0] 
var DataDict = (innerData2 as! NSDictionary) as Dictionary
self.userName   = DataDict["userName"]! as! String