1

JSONKit を NSMutableDictionary として JSON データを解析しています。

NSString *str = [[NSString alloc] initWithData:self.responseData encoding:NSUTF8StringEncoding];

NSMutableDictionary *jsonResponse = [self.responseData objectFromJSONData];

NSMutableDictionary *newData = [[NSMutableDictionary alloc] init];
[newData addEntriesFromDictionary:[jsonResponse mutableCopy]];

これを行うと、次のエラーが発生します。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSMutableDictionary addEntriesFromDictionary:]: dictionary argument is not an NSDictionary'

この問題の原因を突き止めようとしています。jsonResponse が JKArray のオブジェクトであることは、他の経験から知っています。

私は助けが必要です。ありがとう。

4

1 に答える 1

0

次のことを試してください。

id object = [self.responseData objectFromJSONData];
NSLog(@"%@", [object class]);

ほとんどの場合、応答は辞書ではなく配列です。


本当に配列を辞書に変換したい場合は、自己定義キーを使用して次のようにすることができます。

NSArray *array = [self.responseData objectFromJSONData];
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObject:array forKey:@"posts"];

配列の内容を見せていただければ、おそらくいくつかのより良いオプションがあります。

于 2013-02-12T00:57:35.890 に答える