zoukankan      html  css  js  c++  java
  • JSON数据解析


        //Json : JavaScript Object Notation, 脚本对象标注法
    Student.json
    [
     {
        "age":"18",
        "name":"张三",
        "sex":""
     },
     {
       "age":"38",
       "name":"李四",
       "sex":""
     },
     {
        "age":"28",
        "name":"王五",
        "sex":""
     }
    ]
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        self.studentArray = [NSMutableArray arrayWithCapacity:0];
     (1)
            //获取文件路径
        NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"json"];
            //转成NSData
        NSData *data = [NSData dataWithContentsOfFile:filePath];
            //进行json解析
        NSError *error = nil;
        
    //        NSJSONSerialization: iOS提供的json解析类
        
    //    NSJSONReadingMutableContainers: 解析到得字典和数组是可变的(NSMutabelArrary, NSMutableDictionary)
    //    NSJSONReadingMutableLeaves: 解析到得叶子节点的内容是可变的(NSMutableString)
    //    NSJSONReadingAllowFragments : 允许json数据的最外层不是字典和数据
        
        
        NSArray *dataArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];
        if (error) {
            NSLog(@"%@", error);
        }
        
        NSLog(@"%@", dataArray)
    for (NSDictionary *dic in dataArray) {
            Student *student = [[Student alloc] init];
            student.name = dic[@"name"];
            student.sex = dic[@"sex"];
            student.age = dic[@"age"];
            [_studentArray addObject:student];
            [student release];
            NSLog(@"%@", student);
        }
    (2)  
            //使用jsonkit
            //获取路径
        
        NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"json"];
            //获取内容
        NSString *content = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
            //内容进行json解析
        NSArray *dataArray = [content objectFromJSONString];
        NSLog(@"%@", dataArray);
        for (NSDictionary *dic in dataArray) {
            Student *student = [[Student alloc] init];
            student.name = dic[@"name"];
            student.sex = dic[@"sex"];
            student.age = dic[@"age"];
            [_studentArray addObject:student];
            [student release];
            NSLog(@"%@", student);
        }

     
  • 相关阅读:
    浅谈流形学习
    流形(Manifold)初步【转】
    MATLAB中的函数的归总
    LBP特征提取实现
    Nginx 安装
    Linux执行.sh文件,提示No such file or directory的问题
    Ubuntu 安装后的配置及美化(二)
    Ubuntu 安装后的配置及美化(一)
    关于windows上 web 和 ftp 站点的创建及使用
    win10 + Lubuntu 双系统安装
  • 原文地址:https://www.cnblogs.com/tian-sun/p/4311367.html
Copyright © 2011-2022 走看看