模型->jsonString 方式1. NSDictionary *paramDict = getTakeupInfo.yy_modelToJSONObject; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:paramDict/*getTakeupInfo.mj_keyValues*/ options:NSJSONWritingPrettyPrinted error:nil ]; NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 方式2 [queryCalendarInfo yy_modelToJSONString]; 模型->字典 [outputInfo yy_modelToJSONObject]; jsonString -> 模型 id param = [outputInfo.D yy_modelToJSONObject]; AddEventCallbackInfo *addEventCallbackInfo = [AddEventCallbackInfo yy_modelWithDictionary:param]; id paramDict = [inputInfo yy_modelToJSONObject]; InputInfo *inputInfo = [InputInfo yy_modelWithDictionary:parameters]; NSData *jsonData = [(NSString *)self.eventInfo.su dataUsingEncoding : NSUTF8StringEncoding]; NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:NULL]; InputInfo *inputInfo = [InputInfo yy_modelWithDictionary:dict]; NSString *str = userTakeupInfo.P; NSData *jsonData = [(NSString *)str dataUsingEncoding : NSUTF8StringEncoding]; ContactInfo *contactInfo = nil; if(jsonData){ NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:NULL]; contactInfo = [ContactInfo yy_modelWithDictionary:dict]; } jsonString ->模型數(shù)組 NSArray *array = [NSArray yy_modelArrayWithClass:[UserTakeupInfo class] json:outputInfo.D]; NSMutableArray *userTakeupInfoArray = [NSMutableArray arrayWithArray:array]; 模型數(shù)組 -> JsonString [contactInfoArray yy_modelToJSONString] 模型數(shù)組->字典數(shù)組 id param = [corpDomainArray yy_modelToJSONObject]; json字典數(shù)組-> 字典數(shù)組 NSData *jsonData = [(NSString *)dataJson dataUsingEncoding : NSUTF8StringEncoding]; NSArray *dictDataArray = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:NULL]; #import <YYModel/YYModel.h> + (NSDictionary *)modelContainerPropertyGenericClass { return @{@"p" : [PageInputInfo class] }; } TokenLoginOutServerInfo 中的IPList無(wú)法進(jìn)行轉(zhuǎn)換對(duì)應(yīng)屬性 ,手動(dòng)再次轉(zhuǎn)換了一次 NSData *jsonData = [(NSString *)serverInfo dataUsingEncoding : NSUTF8StringEncoding]; NSDictionary *param = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:NULL]; // id param = [serverInfo yy_modelToJSONObject]; TokenLoginOutServerInfo *outServerInfo = [TokenLoginOutServerInfo yy_modelWithDictionary:param]; NSArray *array = [NSArray yy_modelArrayWithClass:[TokenLoginOutServerIPInfo class] json:[param objectForKey:@"IPList"]]; outServerInfo.IPList = array; //返回一個(gè) Dict,將 Model 屬性名對(duì)映射到 JSON 的 Key。 + (NSDictionary *)modelCustomPropertyMapper { return @{@"name" : @"n", @"page" : @"p", @"desc" : @"ext.desc", @"bookID" : @[@"id",@"ID",@"book_id"]}; } // 字典轉(zhuǎn)模型 + (nullable instancetype)modelWithDictionary:(NSDictionary *)dictionary; // json轉(zhuǎn)模型 + (nullable instancetype)modelWithJSON:(id)json; // 模型轉(zhuǎn)NSObject - (nullable id)modelToJSONObject; // 模型轉(zhuǎn)NSData - (nullable NSData *)modelToJSONData; // 模型轉(zhuǎn)json字符串 - (nullable NSString *)modelToJSONString; // 模型深拷貝 - (nullable id)modelCopy; // 判斷模型是否相等 - (BOOL)modelIsEqual:(id)model; // 屬性數(shù)據(jù)映射,用來(lái)定義多樣化數(shù)據(jù)時(shí)轉(zhuǎn)換聲明 + (nullable NSDictionary<NSString *, id> *)modelCustomPropertyMapper; // 屬性自定義類(lèi)映射,用來(lái)實(shí)現(xiàn)自定義類(lèi)的轉(zhuǎn)換聲明 + (nullable NSDictionary<NSString *, id> *)modelContainerPropertyGenericClass; // 屬性黑名單,該名單屬性不轉(zhuǎn)換為model + (nullable NSArray<NSString *> *)modelPropertyBlacklist; // 屬性白名單,只有該名單的屬性轉(zhuǎn)換為model + (nullable NSArray<NSString *> *)modelPropertyWhitelist; // JSON 轉(zhuǎn)為 Model 完成后,該方法會(huì)被調(diào)用,返回false該model會(huì)被忽略 // 同時(shí)可以在該model中做一些,轉(zhuǎn)換不能實(shí)現(xiàn)的操作,如NSDate類(lèi)型轉(zhuǎn)換 - (BOOL)modelCustomTransformFromDictionary:(NSDictionary *)dic; // Model 轉(zhuǎn)為 JSON 完成后,該方法會(huì)被調(diào)用,返回false該model會(huì)被忽略 // 同時(shí)可以在該model中做一些,轉(zhuǎn)換不能實(shí)現(xiàn)的操作,如NSDate類(lèi)型轉(zhuǎn)換 - (BOOL)modelCustomTransformToDictionary:(NSMutableDictionary *)dic
浙公網(wǎng)安備 33010602011771號(hào)