-1
 NSDictionary *rData = (NSDictionary *) [jParser objectWithString:responseString error:nil];

rData はNSDictionaryオブジェクトであると想定されています。しかし、それは辞書の配列のようです。次に [[rData allKeys] objectAtIndex:0]、辞書の最初のキーにアクセスするために使用しています。[NSArrayM allKeys]しかし、認識されないセレクターと言ってクラッシュします 。

4

2 に答える 2

0

JSON データは、最上位の配列またはディクショナリにすることができます。JSON が { で始まる場合、それは辞書になります。[ で始まる場合は、配列になります。

于 2012-12-14T15:55:30.373 に答える
0

あなたは受けているクラスについて 100% 満足していますか?

objectWithString:

このメソッドは、入力を UTF8 を含む NSData オブジェクトに変換し、-objectWithData: を呼び出します。

戻り値:オブジェクトが表すNSArrayまたはNSDictionary 、またはエラーが発生した場合は nil。

これをデバッグしてみてください。2 つの (少なくとも!) オプションがあります。

NSLog(@"%@",[rData class]);

また

NSLog(@"%@",[[jParser objectWithString:responseString error:nil] class]);

または単に出力で:

po [[jParser objectWithString:responseString error:nil] class];
于 2012-12-14T16:03:39.760 に答える