ParserConfig.getGlobalInstance()解决autotype被禁止问题
我所在的项目组是使用的微服务架构,我们组只负责我们自有模块,其他模块由其他团队负责,有一天,看到一条新闻说是fastjson修复了一些高危漏洞,然后我们就协定升版本,然后今天就踩到了这个坑,报错如下: com.alibaba.fastjson.JSONException: unclosed.str 问题是这样的,我们原有代码转换的时候一个json字符串处理如下 String str = "{‘@type‘:‘com.dcf.platform.token.MessageHolder‘,‘forSend‘:‘211554‘,‘generateTime‘:1490422777204,‘id‘:‘18701762172‘,‘lastCanSendTime‘:1490422777204,‘message‘:‘211554‘}"; Object obj = JSON.parse(str); 当这个json字符串转化为object的时候,autotype被fastjson禁用掉了,导致异常 2、问题处理: 按照fastjson官网(就是最上面那个链接里)的说法,有几种处理方式,我们就临时先做了一个简单粗暴的处理,等到周一之后讨论具体方案(因为今天是周六) 做法就是按照官网说法,在tomcat的catalina.sh里面的JAVA_OPTS参数后面添加了JVM启动参数: -Dfastjson