JSONKit неверный аргумент при попытке скопировать
Я анализирую данные JSON с JSONKit как NSMutableDictionary.
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 из моего другого опыта.
Мне нужна помощь. Благодарю.
1 ответ
Попробуйте следующее:
id object = [self.responseData objectFromJSONData];
NSLog(@"%@", [object class]);
Скорее всего, ваш ответ - это массив, а не словарь.
Если вы действительно хотите преобразовать массив в словарь, вы можете сделать что-то вроде этого, используя собственный ключ:
NSArray *array = [self.responseData objectFromJSONData];
NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObject:array forKey:@"posts"];
Хотя, возможно, есть несколько лучших вариантов, если бы вы могли показать мне содержимое вашего массива.