iOS UI 14 网络解析json
//
// RootViewController.m
// ui - 14 数据解析
//
// Created by dllo on 15/11/26.
// Copyright (c) 2015年 dllo. All rights reserved.
//
#import "RootViewController.h"
#import "Student.h"
#import "GDataXMLNode.h"
#import "JSONKit.h"
@interface RootViewController ()<NSXMLParserDelegate>
@property (nonatomic, retain)NSMutableArray *stuArr;
@property (nonatomic, retain)NSMutableArray *stuArr2;
@property (nonatomic ,copy)NSString *elementStr;
@end
@implementation RootViewController
- (void)dealloc
{
[_stuArr release];
[_stuArr2 release];
[super dealloc];
}
- (void)viewDidLoad {
[super viewDidLoad];
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeCustom];
button1.frame = CGRectMake(50, 100, 100, 50);
button1.backgroundColor = [UIColor cyanColor];
[button1 setTitle:@"Json" forState:UIControlStateNormal];
[button1 addTarget:self action:@selector(jsonAction) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button1];
// Do any additional setup after loading the view.
}
/*******************************json************************/
- (void)jsonAction
{
NSString *file = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"txt"];
//二进制流 安全
NSData *data = [NSData dataWithContentsOfFile:file ];
//参数1 : 读取到的二进制流
//参数2 : 装换为可变容器类型(如字典,数组)
//参数3 : 错误信息,若不需要可填nil
// NSMutableArray *Arr = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
//第三方解析
NSMutableArray *Arr = [data objectFromJSONData];
// NSLog(@"%@", Arr);
self.stuArr = [NSMutableArray array];
for (NSDictionary *dic in Arr) {
Student *stu = [[Student alloc]init];
[stu setValuesForKeysWithDictionary:dic];
[self.stuArr addObject:stu ];
[stu release];
}
//打印信息 验证
for (Student *stu in self.stuArr) {
NSLog(@"%@ %@ %@ %@",stu.name, stu.sex, stu.number, stu.phone);
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end