Я получаю ошибку followig после преобразования JSON echo в словарь,
* Завершение приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «* - [NSMutableArray insertObject: atIndex:]: попытка вставить нулевой объект в 0»
*** стек вызовов при первом броске:
Вот мой код десериализации JSON, ранее я использовал эту модель для простого списка. Теперь я посылаю более сложное эхо (с объектами и ключами), и оно вылетает.
NSURL *url = [NSURL URLWithString:@"http://10.0.1.8/~imac/iphone/jsontest.php"];
NSString *jsonreturn = [[NSString alloc] initWithContentsOfURL:url];
NSLog(jsonreturn); // Look at the console and you can see what the results are
NSData *jsonData = [jsonreturn dataUsingEncoding:NSUTF32BigEndianStringEncoding];
NSError *error = nil;
NSDictionary * dict = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error];
if (dict)
{
rowsArray = [dict objectForKey:@"member"];
[rowsArray retain];
}
NSLog(@"Array: %@",rowsArray);
NSLog(@"count is: %i", [self.rowsArray count]);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *choiceR = [documentsDirectory stringByAppendingPathComponent:@"FollowingArray"];
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:rowsArray];
[array writeToFile:choiceR atomically:YES];
[array release];
[jsonreturn release];
Вот фрагмент эха:
{"member":[
{"userid":"18",
"firstname":"Frank",
"lastname":"Johnson",
"profile":{"school":"7","grade":"12","teacher"}
},
{"userid":"38",
"firstname":"maggy",
"lastname":"Johnson",
"profile":{"school":"7","grade":"12","teacher"}
}]}
Я предполагаю, что получаю сбой, потому что массив пуст. Любые идеи, если эхо вызывает сбой или есть инструкция в JSON для обработки ключей и объектов такого типа, возвращаются.
Спасибо,
Michael