webapi からの jsonresult を解析しようとすると、この問題が発生します。次のようなjson結果が返される場合はいつでも注意してください。
[{"Id":0, "Name":Wombat, "Category":Animal},
{"Id":1, "Name":Trident, "Category":Object}]
このコードはその結果に対して機能します。
NSArray *jsonresult = [WCFServiceRequest processWebApiGETRequestWithURL:url];
if(jsonresult){
for(id item in jsonresult){
NSLog(@"item is %@", item);
if([item isKindOfClass:[NSDictionary class]]){
object.Id = [item objectForKey:@"Id"];
object.name = [item objectForKey:@"Name"];
object.category = [item objectForKey:@"Category"];
}
}
}
しかし、次のような none リストの結果が返されると、次のようになります。
{"Id":1, "Name":Trident, "Category":Object}
それは通過しません
if([item isKindOfClass:[NSDictionary class]]){
ここで、それを取り出して、プロパティの割り当てに直行するとします。jsonarray から返される "item" 変数がキーです (例: Id、Name など)。これを適切に反復処理し、キーを使用して割り当てる方法がわかりません。インデックスを使用しているようですか?別の辞書を作成しますか?