遇到的问题
在最近的短视频项目开发中,经常发现个别的短视频播放出现错误,排查发现是因为我们爬虫系统爬取的弹幕数据出现特殊字符导致的json解析错误而引起的app崩溃
JSON介绍
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。介绍 JSON
json不能出现的特殊字符
1.json结构中使用的标示符:都为英文格式 冒号 :双引号 “” 大括号 {} 方括号 [] 逗号 ,
2.使用注意要确保在json的结构中,使用以上标准的标示符来构建结构。其中的键值串都由双引号引起来,键值串中不能包含双引号和转义字符。在键值串中可以出现除了双引号之外的以上其它四种标示符,不会出错。
3.需要处理的转义字符 \a 响铃(BEL) \b 退格(BS) \e 科学计数法 \f 换页(FF) \n 换行(LF) \r 回车(CR) \t 水平制表(HT) \v 垂直制表(VT) \ 反斜杠 \” 双引号字符 \0 空字符(NULL)
4.解决方案 服务器端,将字符串中的回车换行用类似
的字符串代替,双引号也一样,比如
写一个数据库函数将弹幕数据中的特殊字符给干掉
由于是爬取的弹幕数据并不需要对这些弹幕数据的特殊字符进行转义,然后在视频播放屏幕上显示。所以我直接在数据中写函数将弹幕数据中的特殊字符给处理,已解决app会奔溃的问题