使用jackson将包含整数时间戳的json转换为';java.util.Date';启用默认键入时

使用jackson将包含整数时间戳的json转换为';java.util.Date';启用默认键入时,java,jackson,Java,Jackson,在我的java对象中转换JSON对象时,我遇到了一个困难。我从服务器收到以下响应(我无法修改服务器端内容): 反序列化时,我收到错误信息: Unexpected token (VALUE_NUMBER_INT), expected START_ARRAY: need JSON Array to contain As.WRAPPER_ARRAY type information for class java.util.Date 我的代码如下所示: ObjectMapper mapper = ne

在我的java对象中转换JSON对象时,我遇到了一个困难。我从服务器收到以下响应(我无法修改服务器端内容):

反序列化时,我收到错误信息:

Unexpected token (VALUE_NUMBER_INT), expected START_ARRAY: need JSON Array to contain As.WRAPPER_ARRAY type information for class java.util.Date
我的代码如下所示:

ObjectMapper mapper = new ObjectMapper();
mapper.enableDefaultTyping(org.codehaus.jackson.map.ObjectMapper.DefaultTyping.NON_FINAL);
com.transer.money.MyResponse.resp = mapper.readValue(jsonString, com.transer.money.MyResponse.class);
A如果我省略了行
mapper.enableDefaultTyping(org.codehaus.jackson.map.ObjectMapper.DefaultTyping.NON_FINAL),我得到了错误
无法反序列化com.transfer.money.MyResponse在[源代码:N/A;行:-1,列:-1]处的起始数组令牌外的实例。

我真的很感谢大家的回复,因为我已经尝试了各种方法,但似乎没有任何效果


谢谢

需要注意的是,您的json没有通过验证-要检查这一点,您可以在线找到json解析器/验证器,并通过其中一个来运行json,看看它是否有效。另一个注意事项是,也可以发布该类。@Eugen-我只粘贴了从该服务收到的json的一部分,因此可能遗漏了一些括号/括号。否则我已经验证了实际响应的结构,它是正确的。另外,你想要什么类?MyResponse?首先-您使用什么服务来验证json?我在3个不同的服务中尝试了它,但失败了-你可以很容易地将它粘贴进去:检查。第二个-是的,MyResponse和json使用的任何其他类。我可以看到json中有6个类,所以在原始问题中简化json也是一个好主意。关键是要能够实际运行示例并看到它失败——如果示例很简单的话——比人们能够运行它并帮助您容易得多。此外,对于更简单的json,问题可能也是如此。
ObjectMapper mapper = new ObjectMapper();
mapper.enableDefaultTyping(org.codehaus.jackson.map.ObjectMapper.DefaultTyping.NON_FINAL);
com.transer.money.MyResponse.resp = mapper.readValue(jsonString, com.transer.money.MyResponse.class);