NutzCN Logo
问答 转NutMap,由于数字太长出现的异常
发布于 376天前 作者 wx_3un8gefq8c8pul4do54f 562 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

转NutMap的时候抛出异常,怎么处理?

{
   "id": 29919268481,
   "ts": 1543395295775,
   "data": [{
      "amount": 0.088,
      "ts": 1543395295775,
      "id": 2991926848117859368542,
      "price": 114.9,
      "direction": "buy"
   }]
}
Exception in thread "main" java.lang.NumberFormatException: For input string: "2991926848117859368542"
12 回复

。。。 这都超过long的范围了,用字符串吧

这个json是没有办法改的,那我就解析这个json,然后把这个字段改为string吗?

这就比较蛋疼了,报个issue吧

着急的话可以试试其他json库

我也碰到这个问题了,现在有什么解决办法吗?我可以忽略这个字段,何不试试在所有转换失败的情况下都当作字符串处理呢?

json.fromJson的时候是否可以忽略某一个字段吗?

给一下json看看

和楼主的问题一样,就是数字已经超过long的长度了。 在数据库取出来是用 BigInteger 取出来的,序列化没问题,但是反序列化时,Json会尝试用Long.parse,所以出问题了

{
"uuid":"D9F5D783134BD510ABB35613C2D7B2CB",
"pzxh":10012319000008971306,
……

就是 pzxh 反序列化,javabean的 属性是 String pzxh ; 但Json先是转成Mapl然后才是填充javabean.

待我试一下

添加回复
请先登陆
回到顶部