后台修改了数据返回值这样的:

斜杠看的我蒙,先解析吧,我要的是value里面的值
NSDictionary *dicAll = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&jsonErr];
NSDictionary *valueDic = valueDic = [dicAll objectForKey:@"Value"];
看了下valueDic的控制台打印值:

我以为这不是没问题么,结果yymodel无法生成对象。
其实后台返回的value是一个字符串,\“就是转义为了字符串中能加""而已。这个dic nslog出来的其实跟平时的字典数组不一样。平时自己写的字典都是一行行的打印出来的。想到这点就考虑自己序列化成data,在从data转一次。
NSString *valueStr = [dicAll objectForKey:@"Value"];
//valueStr既然是字符串,就去掉这些换行 等尿性
valueStr = [valueStr stringByReplacingOccurrencesOfString:@"\n" withString:@""];
valueStr = [valueStr stringByReplacingOccurrencesOfString:@"\r" withString:@""];
NSData *valueData = [valueStr dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *valueStrDic = [NSJSONSerialization JSONObjectWithData:valueData options:NSJSONReadingMutableContainers error:nil];
ok
网友评论