HttpMessageNotReadableException: JSON parse error Cannot deserialize value of type java.lang.Integer

      JSON在序列化时会将字段对应的value视为字符串,会根据接收的字段进行提取值,如果类型数值是值超出范围时,将无法序列化。

 org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.lang.Integer` from String "2147483648": Overflow: numeric value (2147483648) out of range of Integer (-2147483648 ~ 2147483647); nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.lang.Integer` from String "2147483648": Overflow: numeric value (2147483648) out of range of Integer (-2147483648 - 2147483647)

        在程序内部,Long类型的值赋值给Integer时,超过最大值2147483647时,会是负的最小值(-2147483648)。其他数值类型可以类比。如果要校验输入的数值,可以先判断是否是数值型(正则表达式同时限定长度),满足后在转对应的数值,然后变量接收。

你可能感兴趣的:(杂记和踩坑,json,java,数值越界报错)