这是我第一次使用 AFNetwork,在我使用 ASIHTTP 请求之前,我无法重复使用我的代码,但无论如何,我在提取 JSON 时遇到了问题,我似乎无法弄清楚为什么,所以我希望有人可以给我看光
这是代码
[httpClient registerHTTPOperationClass:[AFJSONRequestOperation class]];
[httpClient postPath:@"" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *responseStr = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSDictionary *results = (NSDictionary *) responseStr;
NSArray *pets = [results objectForKey:@"animals"];
这是 JSON
{
"animals" : [
{
"type" : "cat",
"weight" : "2lbs"
},
{
"type" : "cat",
"weight" : "15oz"
}
]
}
不知何故,我总是得到 -[__NSCFString objectForKey:]: unrecognized selector sent to instance 0x7355ab0' 在解析字典中的 NSArray 时,我之前没有遇到任何问题......我错过了什么吗?>,<
在尝试和尝试之后......
谢谢大家花时间回答我的问题。我不知道为什么它不起作用,但结果我使用 NSJSONSerialization 并且现在该数组可以完美运行。
[httpClient registerHTTPOperationClass:[AFJSONRequestOperation class]];
[httpClient postPath:@"" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSError*error;
NSDictionary *results = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:&error];
NSArray *pets = [results objectForKey:@"animals"];