Здесь код:
NSError *parseError;
NSMutableArray *listOfObjects = [NSJSONSerialization JSONObjectWithData:[@"[]" dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:&parseError];
NSLog(@"Is mutable? %li", [listOfObjects isKindOfClass:[NSMutableArray class]]);
listOfObjects = [NSJSONSerialization JSONObjectWithData:[@"[[],{}]" dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:&parseError];
NSLog(@"Is mutable? %li", [listOfObjects isKindOfClass:[NSMutableArray class]]);
Как вы можете видеть, я вызываю точно такой же метод для разбора JSON оба раза, один с пустым списком в JSON, а затем список с объектом внутри. Здесь результат:
Is mutable? 0
Is mutable? 1
Проблема заключается в том, что NSJSONSerialization, похоже, не соответствует опции создания изменяемых контейнеров для пустых списков. Кажется, это ошибка, но, может быть, я просто неправильно понимаю вещи.
Любые идеи?