IOS json转对象 /json 转 Object / ios json to Object / ios json convert Object

 直奔主题:在ios平台做通用的json数据解析,直接将json格式字符串转化成 对应的Object类(比如:jsonUser 转 User对象)。

思路: 1. 获取服务器端的json数据,然后解析成NSDictionary对象(我们一般是使用第三方的json解析工具JSONKit,SBJson等)。

             2. 使用第三方工具Jastor将NSDictionary 转成 响应Object对象。

 ok,现在跟大家列出关键代码:

  1.首先我使用的JSONkit将json字符串解析为NSDictionary对象(参考:http://blog.csdn.net/ck89757/article/details/7842846 )

//objectFromJSONData直接使用data转字典
      NSData *data = [@"{\"name\":\"hanqing\",\"age\":\"23\"}" dataUsingEncoding:NSUTF8StringEncoding]; 
      NSDictionary *result = [data objectFromJSONData];//JSONKit中的解析函数 objectFromJSONData

2.创建Object对象,使用Jastor 将NSDictionary 转成 Product对象  (Jastor下载和用法参考https://github.com/elado/jastor,在该地址下载下Jastor包后,直接将Jastor文件夹拉到ios项目中,只有4个文件Jastor.h、Jastor.m、JastorRuntimeHelper.h、JastorRuntimeHelper.m)    


// Product.h
@interface Product : Jastor//一定要继承Jastor类
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSNumber *amount;
@end

// Product.m
@implementation Product
@synthesize name, amount;
@end

// 关键代码
Product *product = [[Product alloc] initWithDictionary:result];//Jastor中的转化函数

3.如何将 NSObject 转成 JSON 其中,我们采用了一个折中的方式,将NSOBject转换成 字典,然后采用 JSONkit 转换成 JSON

- (NSString *)convertFromObject{

	NSMutableDictionary *returnDic = [[NSMutableDictionaryalloc] init];

	NSArray *array =[JastorRuntimeHelperpropertyNames:[selfclass]];//获取所有的属性名称

	for (NSString *key in array) {

		[returnDic setValue:[selfvalueForKey:key] forKey:key];//从类里面取值然后赋给每个值,取得字典
	}

	NSString returnString = [returnDic JSONString];//齐刷刷的变成JSON吧
	return returnString ;
}

转载标明出处:http://write.blog.csdn.net/postedit/7927744

转载于:https://my.oschina.net/u/593017/blog/199266

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值