如何从本地JSON文件将数据加载到ViewController

es1*_*es1 10 json local ios

我正在开发一个iPhone应用程序,我需要在TableView中显示存储的数据.经过一些研究,我认为JSON最适合存储数据.但是,我找不到任何教程解释如何将JSON作为本地文件而不是从远程源读取,通常就是这种情况.

您可以推荐的任何教程?

Luc*_*uez 23

首先:你需要加载你的本地json字符串.假设jsonstring在你的项目中,要加载它,首先创建指向该文件的nsstring:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"THENAMEOFTHEFILE" ofType:@"EXTENSIONOFYOUTFILE"];
Run Code Online (Sandbox Code Playgroud)

二,加载文件数据:

NSData *content = [[NSData alloc] initWithContentsOfFile:filePath];
Run Code Online (Sandbox Code Playgroud)

第三,解析数据:

NSDictionary *json = [NSJSONSerialization JSONObjectWithData:content options:kNilOptions error:nil];
Run Code Online (Sandbox Code Playgroud)


mat*_*hat 14

你可以用NSJSONSerialization它.

NSError *deserializingError;
NSURL *localFileURL = [NSURL fileURLWithPath:pathStringToLocalFile];
NSData *contentOfLocalFile = [NSData dataWithContentsOfURL:localFileURL];
id object = [NSJSONSerialization JSONObjectWithData:contentOfLocalFile 
                                            options:opts 
                                              error:&deserializingError];
Run Code Online (Sandbox Code Playgroud)

  • 我使用:`NSString*jsonPath = [[NSBundle mainBundle] pathForResource:@"employees"ofType:@"json"]; NSData*data = [NSData dataWithContentsOfFile:jsonPath]; NSError*error = nil; id json = [NSJSONSerialization JSONObjectWithData:数据选项:kNilOptions错误:&error];` (4认同)