iOS で次の JSON コードを解析しようとしています。JSON コードは、0 から x までの番号が付けられたゲームの配列で構成されています。私は周りを検索してきましたが、この形式の JSON を持つ例が見つからないようです。
{
"command":"show_my_games",
"0":{"gameid":"7","foruserid":"16","againstuserid":"0","casefor":"","caseagainst":"","status":"0","argumentid":"7","againstusername":null,"forusername":"Gem","argument":"argument 1"},
"1":{"gameid":"8","foruserid":"15","againstuserid":"16","casefor":"","caseagainst":"","status":"0","argumentid":"23","againstusername":"Gem","forusername":"Nick","argument":"argument 2"},
"2":{"gameid":"9","foruserid":"18","againstuserid":"16","casefor":"","caseagainst":"","status":"0","argumentid":"26","againstusername":"Gem","forusername":"Nick","argument":"argument 3"}
}
ゲーム オブジェクトを作成しました。JSON 配列の各アイテムに対して、新しいゲーム オブジェクトを作成し、これをゲーム配列に追加したいと考えています。JSON の解析に問題があります。助けやアドバイスをいただければ幸いです。
私が使用しようとしているコードは
NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&err];
for (NSMutableDictionary * gameItem in json) {
Game *obj = [Game new];
obj.GameID=[gameItem objectForKey:@"gameid"];
obj.Argument=[gameItem objectForKey:@"argument"];
obj.CaseFor=[gameItem objectForKey:@"casefor"];
obj.CaseAgainst=[gameItem objectForKey:@"caseagainst"];
obj.CaseForOwner=[gameItem objectForKey:@"forusername"];
obj.CaseAgainstOwner=[gameItem objectForKey:@"againstusername"];
obj.CaseForOwnerID=[gameItem objectForKey:@"foruserid"];
obj.CaseAgainstOwnerID=[gameItem objectForKey:@"againstuserid"];
//add to the players game array
[myGameArray addObject:obj];
}
NSLog(@"array: %@", myGameArray);
JSON 配列からデータを抽出しようとすると、次のエラーが表示されます。-[__NSCFString objectForKey:]: 認識されないセレクターがインスタンス 0x1f06f4e0 に送信されました
前もって感謝します、
ニック