Long类型集合通过fastjson序列化再反序列化后变成了Integer类型
snz8szmq1#
可以提供一下使用的版本以及简单的复现用例吗?
gzszwxb42#
1.2.58、1.2.60版本都是这样List list = new ArrayList<>();list.add(567890L);Map<String, List> param = new HashMap<>();param.put("list", list);Map<String, List> map = JSON.parseObject(JSON.toJSONString(param), Map.class);
jaql4c8m3#
ListSerializer中write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) 方法的writeClassName值有问题,调用SerializerFeature中的isEnabled()方法始终返回false,导致Long类型数据转换成Integer类型
dphi5xsq4#
将
JSON.toJSONString(param)
换成
JSON.toJSONString(param, SerializerFeature.WriteClassName)
试试?
4条答案
按热度按时间snz8szmq1#
可以提供一下使用的版本以及简单的复现用例吗?
gzszwxb42#
1.2.58、1.2.60版本都是这样
List list = new ArrayList<>();
list.add(567890L);
Map<String, List> param = new HashMap<>();
param.put("list", list);
Map<String, List> map = JSON.parseObject(JSON.toJSONString(param), Map.class);
jaql4c8m3#
ListSerializer中write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) 方法的writeClassName值有问题,调用SerializerFeature中的isEnabled()方法始终返回false,导致Long类型数据转换成Integer类型
dphi5xsq4#
将
换成
试试?