Как загрузить данные в 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];