我有这个代码:
final Person p = new Person(1L);
final ObjectMapper mapper = JacksonUtil.INSTANCE.getMapper();
final TypeReference<HashMap<String, Object>> typeMap = new TypeReference<HashMap<String, Object>>() {};
final String personJson= mapper.writeValueAsString(p);
mapper.readValue(personJson, typeMap);
personJson
就好像:
"id" : 1
每当我有一个Long type
在我的 Json 中,当我尝试读取它时它不起作用。我有这个错误:
com.fasterxml.jackson.databind.JsonMappingException:不能
实例化类型的值[简单类型,类
org.codehaus.jackson. generated.java.lang.Number] 来自整数;
没有 single-int-arg 构造函数/工厂方法
我怎样才能让它接受类型Long
?映射器中是否有任何需要启用的功能?
在 Person 中创建一个接受整数(而不是像您那样接受 long )的构造函数。如果您确实想接受 long,那么尝试创建一个接受 Number 的构造函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)