Как разобрать JSON из файла в iOS?
Я пытаюсь проанализировать данные из файла JSON. Я пытаюсь поместить эти проанализированные/полученные данные в UIView с меткой или в веб-просмотре.
Файл JSON выглядит примерно так:
{"bodytext": "<p>\n Some lines here about some webpage (“ <em>Site</>”) some more lines here. \n </p>\n\n <p>\n some more stuff here </p>
}
В разделе "Переполнение стека" есть сообщения, показывающие, как разбирать JSON, извлеченные из веб-URL, но у меня на самом деле уже есть файл JSON, который я хочу проанализировать. Как разобрать JSON из файла?
Ответы
Ответ 1
-
Создать пустой текстовый файл (новый файл/другой/пустой), например. "Example.json"
-
Вставьте строку json в файл.
-
Используйте эти строки для получения данных:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"example" ofType:@"json"];
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSArray *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
Ответ 2
Swift 2.0 версия принятого ответа:
if let filePath = NSBundle.mainBundle().pathForResource("example", ofType: "json"), data = NSData(contentsOfFile: filePath) {
do {
let json = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments)
}
catch {
//Handle error
}
}
Ответ 3
Я следил за этим, и он отлично работает
NSError *error = nil;
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"messages"
ofType:@"json"];
NSData *dataFromFile = [NSData dataWithContentsOfFile:filePath];
NSDictionary *data = [NSJSONSerialization JSONObjectWithData:dataFromFile
options:kNilOptions
error:&error];
if (error != nil) {
NSLog(@"Error: was not able to load messages.");
return nil;
}