日常开发中我们经常会碰到如下错误,报错信息如下:


com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: Expected an int but was 1575183842230338 at line 1 column 913 path $.AttachOrders[0].SubOrders[0].Attach[0].SubId

这种错误可以归纳为:Expected an A but was B at line xx,一般就是类型一致造成的。比如一个非数字的字符串没办法格式化为数字,或者是boolean类型没办法格式为数字类型,浮点类型没办法转为整形或者long类型一样。

解决办法:变更字段的类型,两者匹配即可。

值得指出的是,一切基础类型都可以转化为String类型,所以当只是展示用的话,可以使用String类型进行模糊化处理,提高client端的容错能力。