【发布时间】:2014-09-27 06:41:32
【问题描述】:
我正在考虑在我的一个项目中使用 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”结尾的,因为它是动态创建的。
另一个小问题:几个响应返回 json 对象,其中的键需要在 响应字典的格式为“@importantKey”或“#key”。我记得有些解析器无法在响应中返回这样的键,这是 AFNetworking 的问题吗?
【问题讨论】:
-
如何测试响应的类?你提到了一个解析器,但我没有看到任何解析器代码。
-
我在XCOde的调试窗口中看到了。据我了解,AFNetworking 同时进行 json 请求和解析..
-
将响应转换成字典:_yourNSDictionary = (NSDictionary *)responseObject;
-
为什么注释掉设置序列化程序?这是一个必要的步骤。
标签: ios json afnetworking afnetworking-2