Как загрузить данные в ViewController из локального файла JSON

Я разрабатываю приложение для iPhone, и мне нужно показать сохраненные данные в TableView. После некоторых исследований я решил, что JSON лучше всего подходит для хранения данных. Однако я не смог найти никаких учебных пособий, объясняющих, как читать JSON как локальный файл, а не из удаленного источника, как это часто бывает.

Любые учебные пособия, которые вы могли бы порекомендовать?

Ответ 1

Вы можете использовать NSJSONSerialization для этого.

NSError *deserializingError;
NSURL *localFileURL = [NSURL fileURLWithPath:pathStringToLocalFile];
NSData *contentOfLocalFile = [NSData dataWithContentsOfURL:localFileURL];
id object = [NSJSONSerialization JSONObjectWithData:contentOfLocalFile 
                                            options:opts 
                                              error:&deserializingError];

Ответ 2

Прежде всего: вам нужно загрузить локальную строку json. Предполагая, что jsonstring находится внутри вашего проекта, чтобы загрузить его, сначала создайте nsstring, указывающую на файл:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"THENAMEOFTHEFILE" ofType:@"EXTENSIONOFYOUTFILE"];

второй, загрузите данные файла:

NSData *content = [[NSData alloc] initWithContentsOfFile:filePath];

третий, проанализируйте данные:

NSDictionary *json = [NSJSONSerialization JSONObjectWithData:content options:kNilOptions error:nil];