• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

JSON格式转int/long报错

java 来源:一千二 3次浏览

现象:通过查库(mysql)获取信息,其中有个字段A的值为int类型的5,然后在前端页面,把数据(json)通过ajax请求到后台(在前端页面A的类型为Number),在后台用Map<String, Object>接收json数据,此时A的值变为5.0了,从整型变为了浮点型。此时转换成int会出现类型转换异常。

问题:从前端页面传递过来的json串,后台能map接收,再利用map的get()方法获取相应的属性值,这时当属性类型为int或者long类型时会出现转换异常。

解决方法,先将相应的属性转换成Number类型,再调用Number对应的方法进行转换。但有个地方需要注意,需要先判断该属性是否为空再进行转换,否则会出现NullPointerException。

Gson转换导致int转换成double的问题

使用情景:后端返回的json字符串,通过gson处理后,原本是int类型,现在获取到的是double类型的。

解决:

int i = ((Number)fromJson.get("int")).intValue();

int i = Math.round(Double.parseDouble(fromJson.get("int").toString));

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)