json带斜杠java,带斜杠的json解析

后台修改了数据返回值这样的:浏览器返回数据.png斜杠看的我蒙,先解析吧,我要的是value里面的值NSDictionary *dicAll = [NSJSON

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

1c8973abee72

浏览器返回数据.png

斜杠看的我蒙,先解析吧,我要的是value里面的值

NSDictionary *dicAll = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&jsonErr];

NSDictionary *valueDic = valueDic = [dicAll objectForKey:@"Value"];

看了下valueDic的控制台打印值:

1c8973abee72

Snip20171019_4.png

我以为这不是没问题么,结果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