iOS 加载(读取)本地的json文件

    func countryOperator(){
        let path = Bundle.main.path(forResource:"country_list", ofType:"json")
        let url = URL(fileURLWithPath: path!)
        let addressData = NSData.init(contentsOf: url)
        let addressDic = try! JSONSerialization.jsonObject(with: addressData! as Data, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSArray;
        cameraBlueTooth.sharedInstance.CountryOparatorList = addressDic;
    }

在这里插入图片描述
在这里插入图片描述

已标记关键词 清除标记
创建.json文件,并写入内容,在路径下能够找到创建的文件和里面有写入的内容,但是相同路径下获取文件读取的内容是空的。下面是代码: // ************ 创建文件 ************ / // 创建文件管理器 NSFileManager *fileManager = [NSFileManager defaultManager]; // 获取document路径,括号中属性为当前应用程序独享 NSArray *directoryPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentDirectory = [directoryPaths objectAtIndex:0]; NSLog(@"document = %@", documentDirectory); //定义记录文件全名以及路径的字符串filePath NSString *filePath = [documentDirectory stringByAppendingPathComponent:@"my_js.json"]; NSLog(@"filePath = %@", filePath); //查找文件,如果不存在,就创建一个文件 if (![fileManager fileExistsAtPath:filePath]) { [fileManager createFileAtPath:filePath contents:nil attributes:nil]; } // ************ 写入文件 ************ / NSString *temp = @"Hello world"; //创建数据缓冲 NSMutableData *writer = [[NSMutableData alloc]init]; //将字符串添加到缓冲中 [writer appendData:[temp dataUsingEncoding:NSUTF8StringEncoding]]; [writer writeToFile:filePath atomically:YES]; // ************ 读取文件 ************ / NSData *jsonData = [NSData dataWithContentsOfFile:filePath]; id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:nil]; NSLog(@"读取文件 = %@", jsonObject);
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页