IOS json轉對象 /json 轉 Object / ios json to Object / ios json convert Object

 直奔主題:在ios平臺作通用的json數據解析,直接將json格式字符串轉化成 對應的Object類(好比:jsonUser 轉 User對象)。html

思路: 1. 獲取服務器端的json數據,而後解析成NSDictionary對象(咱們通常是使用第三方的json解析工具JSONKit,SBJson等)。ios

             2. 使用第三方工具Jastor將NSDictionary 轉成 響應Object對象。git

 ok,如今跟你們列出關鍵代碼:github

  1.首先我使用的JSONkit將json字符串解析爲NSDictionary對象(參考:http://blog.csdn.net/ck89757/article/details/7842846 )json

//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工具

相關文章
相關標籤/搜索