后台返回的JSON字符串
{"old":"111111
222222","nov":""}
整体是一个JSON字符串,old对应的字符串中含有换行符即“111111”和“22222”之间有一个换行符。
将JSON字符串转成OC对象即一个字典,使用MJExtension中的分类NSObject+MJKeyValue的一个方法mj_JSONObject:
NSDictionary * dict = [model.details mj_JSONObject];
最后的dict是nil,说明没有转换成功。
我的解决方法
思路:既然因为有换行符不能解析成功,那么就先把换行符去掉,等解析成功之后再把换行符加上。
将换行符用一个自定义的特殊符号组合kReturnKey替换
NSString * newComment = [comment stringByReplacingOccurrencesOfString:@"\n" withString:kReturnKey];
解析成功之后在展示内容的时候再用换行符将特殊符号组合替换
[oldDes stringByReplacingOccurrencesOfString:kReturnKey withString:@"\n"]
这样就完美解决了JSON字符串中含有换行符无法解析成功的问题。
如果有回车符,同理将回车符("\r")替换掉。
(疑问:如果用户发布内容中有转义字符串怎么办?)
本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。😊