iOS开发中后台返回的JSON字符串中含有换行符,无法解析成功。

后台返回的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")替换掉。

(疑问:如果用户发布内容中有转义字符串怎么办?)

本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。

你可能感兴趣的:(iOS开发中后台返回的JSON字符串中含有换行符,无法解析成功。)