直奔主題:在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工具