【适合初学者】简单代码讲述json数据与oc对象互相转化
2014-08-04 20:12
465 查看
@implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //第一部分,如何将一个json数据转化成一个oc的对象 //先写入一个json的字符串 NSString *jsonStr = @"{\"name\":\"zhangsan\",\"age\":\"20\",\"dog\":{\"name\" : [\"xiaohei\",\"xiaohuang\"],\"age\" : \"6\"}}"; //将这个jsonStr的字符串对象存储进data对象中,并采用UTF8编码 NSData *data = [jsonStr dataUsingEncoding:NSUTF8StringEncoding]; //将这个data数据用类方法转换成dic的字典对象,同时支持fragenmts分片式管理 NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil]; //取出dic字典里dog的名字 NSLog(@"%@",dic[@"dog"][@"name"]); //取出dic字典里dog对象 NSString *str = [dic objectForKey:@"dog"]; NSLog(@"%@",str); //新建一个dogDic字典对象,取出原字典dic中的dog对象,同时新建一个数组array,并将dogDic中的name的两个值赋给array NSDictionary *dogDic = [dic objectForKey:@"dog"]; NSArray *array = [dogDic objectForKey:@"name"]; NSLog(@"%@",array); //新建一个num,取出dic中的age的值赋给num NSNumber *num = [dic objectForKey:@"age"]; NSLog(@"%@",num); //============================华丽丽的分割线================================== //第二部分,如何将一个OC的对象转化成json数据 NSArray *array1 = @[@"Jim",@"james",@"Alex",@{@"age" :@"19", @"height" :@"60"}]; //讲、将array1存储到data2里,方法是NSJSONWritingPrettyPrinted NSData *data2 = [NSJSONSerialization dataWithJSONObject:array1 options:NSJSONWritingPrettyPrinted error:nil]; NSString *str2 = [[NSString alloc] initWithData:data2 encoding:NSUTF8StringEncoding]; NSLog(@"%@",str2); //将str2写入桌面的文件xxx.json中 [str2 writeToFile:@"/Users/gaozhenyusky/Desktop/xxx.json" atomically:YES encoding:NSUTF8StringEncoding error:nil]; }
相关文章推荐
- 【JSON 注解】JSON循环引用2----JSON注解@JsonIgnoreProperties+JAVA关键字transient+后台对象与JSON数据的格式互相转化
- JS对象序列化成json数据和json数据转化为JS对象的代码
- 【JSON 注解】JSON循环引用2----JSON注解@JsonIgnoreProperties+JAVA关键字transient+后台对象与JSON数据的格式互相转化
- js对象转化成json数据格式
- Json树形结构数据转Java对象并存储到数据库的实现-超简单的JSON复杂数据处理
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- jquery将表单数据转化为json对象的插件
- Json数据转化为数据对象的js处理
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- Json树形结构数据转Java对象并存储到数据库的实现-超简单的JSON复杂数据处理 .
- java方式的将java对象以及list或者map转化为json数据
- Java List或Map对象和json字符串数据的相互转化
- 一行代码实现纯数据json对象的深度克隆实现思路
- 【转】Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- java对象转化为json格式数据
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- 一行代码实现纯数据json对象的深度克隆实现思路
- java方式的将java对象以及list或者map转化为json数据,json转换为object或者map
- iOS Json和对象互转(反射支持对象嵌套的复杂对象类型,支持基本数据类型和NSDate属性转化)