年年妖事频发,JSON解析失误竟成导火索?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2658个文字,预计阅读时间需要11分钟。
前言:多年来一直在做开发,也碰到无数bug。不过不再复杂,只要仔仔细细去研读代码,加上debug,总能找到原因。但最近公司遇到的一个bug,这个bug初看很简单,但非常诡异,在“‘’中。
前言做开发这么多年,也碰到无数的bug了。不过再复杂的bug,只要仔细去研读代码,加上debug,总能找到原因。
但是最近公司内碰到的这一个bug,这个bug初看很简单,但是非常妖孽,在一段时间内我甚至是百思不得其解。在长达几天的时间内,复现的概率非常低。几乎难以抓住任何踪迹。
所以这篇文章就非常写实的来记录一下此Bug的发现和排查整个过程。
起因同事之前做了个需求,提交测试。测试同事在测的一半的时候。发现了后台的一个报错
com.alibaba.fastjson.JSONException: can not cast to String, value : {"code":"00","msg":"成功","data":{这里是正确的数据}}
at com.alibaba.fastjson.util.TypeUtils.castToInt(TypeUtils.java:564) ~[fastjson-1.2.29.jar:na]
at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:89) ~[fastjson-1.2.29.jar:na]
一看就知道这错很简单,就是一个fastjson的转换类型的报错。接受的json和要转化的类型不匹配造成的。基本上检查下代码,一眼就能解决的。
结果同事看了好一会儿,都没发现哪有问题。
本文共计2658个文字,预计阅读时间需要11分钟。
前言:多年来一直在做开发,也碰到无数bug。不过不再复杂,只要仔仔细细去研读代码,加上debug,总能找到原因。但最近公司遇到的一个bug,这个bug初看很简单,但非常诡异,在“‘’中。
前言做开发这么多年,也碰到无数的bug了。不过再复杂的bug,只要仔细去研读代码,加上debug,总能找到原因。
但是最近公司内碰到的这一个bug,这个bug初看很简单,但是非常妖孽,在一段时间内我甚至是百思不得其解。在长达几天的时间内,复现的概率非常低。几乎难以抓住任何踪迹。
所以这篇文章就非常写实的来记录一下此Bug的发现和排查整个过程。
起因同事之前做了个需求,提交测试。测试同事在测的一半的时候。发现了后台的一个报错
com.alibaba.fastjson.JSONException: can not cast to String, value : {"code":"00","msg":"成功","data":{这里是正确的数据}}
at com.alibaba.fastjson.util.TypeUtils.castToInt(TypeUtils.java:564) ~[fastjson-1.2.29.jar:na]
at com.alibaba.fastjson.serializer.IntegerCodec.deserialze(IntegerCodec.java:89) ~[fastjson-1.2.29.jar:na]
一看就知道这错很简单,就是一个fastjson的转换类型的报错。接受的json和要转化的类型不匹配造成的。基本上检查下代码,一眼就能解决的。
结果同事看了好一会儿,都没发现哪有问题。

