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);
        }

     
  • 相关阅读:
    CodeForces 980 E The Number Games
    CodeForces 980 D Perfect Groups
    【动态规划】The Triangle
    【动态规划】矩形嵌套
    金块问题-排序-找最大最小
    猪八戒吃西瓜(wmelon)-排序-查找
    【贪心】取数游戏
    【贪心】排队接水
    桐桐的贸易--WA
    【贪心】智力大冲浪
  • 原文地址:https://www.cnblogs.com/tian-sun/p/4311367.html
Copyright © 2011-2022 走看看