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"
}
]
}
どういうわけか、辞書から NSArray を解析する際に -[__NSCFString objectForKey:]: unrecognized selector sent to instance 0x7355ab0' を常に取得していますが、これまで問題はありませんでした... 何か見逃しましたか? >、<
試行錯誤の末…………
私の質問に時間を割いていただき、ありがとうございました。うまくいかなかった理由はわかりませんが、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"];