最近线上的ELK日志监控爆出几个异常问题,jsonException的解析问题。如下:
message: 2019-04-10 23:37:43,952 ERROR aop.AspectAdvice eid=410724004 not match : - ,
com.alibaba.fastjson.JSONException: not match : - , at
com.alibaba.fastjson.parser.JSONLexerBase.nextTokenWithChar(JSONLexerBase.java:369) at
com.alibaba.fastjson.parser.JSONLexerBase.nextTokenWithColon(JSONLexerBase.java:347) at
com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseExtra(JavaBeanDeserializer.java:411) at
com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer.parseField(ASMJavaBeanDeserializer.java:69) at
com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer$InnerJavaBeanDeserializer.parseField(ASMJavaBeanDeserializer.java:86) at
com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:310) at
com.alibaba.fastjson.parser.deserializer.ASMJavaBeanDeserializer.parseRest(ASMJavaBeanDeserializer.java:96) at
Fastjson_ASM_BBSPostVo_369.deserialze(Unknown Source) at
com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:513) at
com.alibaba.fastjson.JSON.parseObject(JSON.java:244) at
com.alibaba.fastjson.JSON.parseObject(JSON.java:220) at
com.alibaba.fastjson.JSON.parseObject(JSON.java:179) at
com.alibaba.fastjson.JSON.parseObject(JSON.java:323) at
.....
由于代码已经在线上运行了2个月左右,突然爆出这样的错误,猜想应该是由输入的信息引起。
这里的业务逻辑是查出一个数据列表,存入redis缓存,第二次查询的时候,如果缓存中有值,则读取缓存中的值。
需要将缓存值解析为对应的对象。对象中有富文本编辑属性的字段
//类似如下结构、报错位置在cacheService.get位置.