博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON数据解析
阅读量:6002 次
发布时间:2019-06-20

本文共 1755 字,大约阅读时间需要 5 分钟。

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

 

转载于:https://www.cnblogs.com/tian-sun/p/4311367.html

你可能感兴趣的文章
俄安全公司:iPhone自动向苹果服务器上传用户通话记录
查看>>
TCL免污式洗衣机:双方共赢的科技创新
查看>>
智能家居真的更安全吗?邻居可用Siri解锁你家的门锁
查看>>
新零售催生未来经济形态 线上线下全渠道融合达新高度
查看>>
测试VDI网络性能 保证终端用户体验
查看>>
嵌入式软件测试与一般软件测试之异同研究
查看>>
Cookie问题(烦了三天)
查看>>
华云数据重新定义企业级云平台服务
查看>>
大数据推动人工智能发展 AI+X将实现人工智能生活化
查看>>
IDC:IBM Bluemix 落地 中国PaaS市场竞争进入新阶段
查看>>
在线协作工具“一起写”获金山WPS战略投资
查看>>
专家解读工业物联网优势的商业模式
查看>>
清新区建成清远市首个农综改大数据平台
查看>>
sqlite3数据库归纳
查看>>
物联网普而不及 仍缺杀手级应用
查看>>
持续集成引擎 Hudson 和 Jenkins 的恩恩怨怨
查看>>
《微课实战:Camtasia Studio入门精要》——1.3 软件安装
查看>>
《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一1.1.3 评估物理性能...
查看>>
良品铺子天猫618爆卖300万个手撕面包,还用数据改造线下
查看>>
这位阿里工程师的家,为何设置了重重机关?
查看>>