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")替换掉。

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,342评论 0 3
  • 级别: ★☆☆☆☆标签:「iOS」「Swift 5.1」「字符串」作者: 沐灵洛审校: QiShare团队 字符串...
    QiShare阅读 4,228评论 0 11
  • 字符串和字符 甲串是一系列字符,如的"hello, world"或"albatross"。Swift字符串由Str...
    Fuuqiu阅读 1,051评论 0 0
  • 字符串字符串是一系列字符组成的。Swift字符串由String类型表示。1.使用字符串文字作为常量或变量的初始值:...
    沐灵洛阅读 812评论 0 5
  • 参考基础教程的整理,方便记忆 一、Object对象 (O大写) 所有其他对象都继承自这个对象。Object本身也是...
    Viaphlyn阅读 2,357评论 0 0