gson线上环境解析日期时报错JsonSyntaxException

博客讲述了在新功能上线时遇到的问题,gson在解析日期字符串“2018-03-14 00:00:00”时抛出JsonSyntaxException。通过检查测试流程、对比测试和线上环境,发现是服务器的Locale导致的问题。应急解决方案是先将日期解析为字符串,再用joda的DateTimeFormatter解析。深入源代码分析发现,Gson默认的日期解析器在某些locale环境下无法处理该日期格式,而Jackson也有类似问题,需要指定解析器。
摘要由CSDN通过智能技术生成

遇到问题:

问题发生在新功能上线的那一天,所有的测试工作都测试完了,测试还挺顺利,比以往结束的早很多,正高高兴兴的聊着今天可以早回家了。

正高兴着往ST环境部署,部署上去前端一测试却返回了服务器异常,服务器异常信息是这样的:

这里写图片描述
这里写图片描述
是用了gson解析json串,解析过程中出现了JsonSyntaxException,也给出了待解析的数据值,是一个常见的日期字符串“2018-03-14 00:00:00”。

这时候第一反应是,测试覆盖不够,没有测试到这种情况?或者是测试偷懒了,每次都用的假数据,没有完整走完测试路径?

虽然是第一想法,但是,作为有经验的开发,我们应该相信测试的专业度,以及测试最基本的功能测试,况且是正向流程的测试,是不会出现问题的。在遇到问题时,我们应该首先选择相信同事。

这种情况,还有另外一种可能性就是测试环境和线上环境不一样。

应急处理:

从上述两个问题出发,一个是确认同事真的走了完整的测试流程;另一个是确认测试和ST环境有什么不同。

第一个问题,从提测开始的请求日志进行了逐个的查看

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值