iOS数据解析之json

来源:互联网 发布:二维变换矩阵 编辑:程序博客网 时间:2024/05/23 19:42
  • (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    // 调用方法
    [self setUpDataJsonCity];
    }

  • (void)setUpDataJsonCity
    {
    // 1.首先,要获取json文件的路径
    // 注意:文件名要保持一致
    NSString *path = [[NSBundle mainBundle] pathForResource:@”area” ofType:@”json”];
    // 2.根据路径将json文件转化为data
    NSData *data = [NSData dataWithContentsOfFile:path];
    // 3.NSJSONSerialization JSONObjectWithData:(NSData ) options:(NSJSONReadingOptions) error:(NSError *)调用这个方法可以将json文件内容保存下来
    // NSJSONReadingOptions是一个枚举,一般选择NSJSONReadingMutableContainers,即可变容器盛放数据
    // NSError **,可以直接填nil,但是如果想得到错误信息,就要定义一个NSError
    NSError *error = nil;
    NSMutableArray *dataArray = [NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:&error];
    // 注意:data转化成可变数组或者可变字典 是字典还是数组要看json文件最外层是什么

// 以下是存储数据
// 注意:要初始化数组
self.dataArray = [NSMutableArray array];
// 首先,便利数组
for (NSDictionary *dic in dataArray) {
// 创建一个存放数据的类,属性名字要和json文件内的属性保持一致,然后将其初始化
CityModel *model = [[CityModel alloc] init];
// 将数据放入到model中
[model setValuesForKeysWithDictionary:dic];
// 将model放入数组
[self.dataArray addObject:model];
[model release];
}
}

0 0
原创粉丝点击