1

私はいくつかのjson出力を読んでいます...いくつかの整数だけです。最初の NSLog は完全に出力します。この場合、3 つの要素があります。私が推測する特定の要素にアクセスする方法がわかりません。

NSMutableArray *json = (NSMutableArray*)[NSJSONSerialization JSONObjectWithData:data   options:kNilOptions error:&error];

NSLog(@"json: %@ \n",json);

int count = (int)[json objectAtIndex:0];
int count1 = (int)[json objectAtIndex:1];
int count2 = (int)[json objectAtIndex:2];
NSLog(@"count %i %i %i\n",count,count1,count2);
4

3 に答える 3

3

NSArrayにはオブジェクトが含まれていますint。これを にキャストしないでください。これは機能しません。コードを確認し、 の出力を決定しますNSJSONSerialization。整数の場合、通常は のインスタンスなNSNumberので、次を試してください。

int count = [[json objectAtIndex:0] intValue];
于 2012-04-07T23:54:27.323 に答える
3

それらは NSNumbers である可能性があります。これを試して:

int count = [[json objectAtIndex:0] intValue];
int count1 = [[json objectAtIndex:1] intValue];
int count2 = [[json objectAtIndex:2] intValue];
NSLog(@"count %i %i %i\n",count,count1,count2);
于 2012-04-07T23:54:49.477 に答える
2

NSArraysおよびその他の非 id オブジェクトをキーまたは値としてNSMutableArray使用できないため、キャストは機能しません。intほとんどの場合、値は typeであるため、それらNSNumberを呼び出す必要があります。intValue

int count = [[json objectAtIndex:0] intValue];
int count1 = [[json objectAtIndex:1] intValue];
int count2 = [[json objectAtIndex:2] intValue];
于 2012-04-07T23:54:38.103 に答える