JsonMappingException重复属性。。。对于[简单类型,类java.lang.Exception]

JsonMappingException重复属性。。。对于[简单类型,类java.lang.Exception],java,json,jackson,Java,Json,Jackson,我正在尝试将一个有效的json字符串映射到一个POJO,其代码大约在2周前就可以工作了在这两周内,我没有对代码进行任何更改。 根据,我的json字符串是有效的 我正在使用Jackson将json映射到POJO: response = new ObjectMapper().readValue(validJsonString, response.class); 这以前奏效过!现在我得到以下错误。如有任何见解,将不胜感激。我找不到与此错误消息相关的任何内容(在stacktrace的标题和第一行中)

我正在尝试将一个有效的json字符串映射到一个POJO,其代码大约在2周前就可以工作了在这两周内,我没有对代码进行任何更改。

根据,我的json字符串是有效的

我正在使用Jackson将json映射到POJO:

response = new ObjectMapper().readValue(validJsonString, response.class);
这以前奏效过!现在我得到以下错误。如有任何见解,将不胜感激。我找不到与此错误消息相关的任何内容(在stacktrace的标题和第一行中)


我猜对你来说确实有些改变了;根据我的经验,它可能是JSK的升级——
Exception
的定义在JDK1.6和1.7之间发生了变化

但要解决这个问题,请确保您使用的是最新版本的Jackson。从类名来看,您似乎正在使用Jackson 1.x(而不是2.x),因此您对版本的选择可能会受到限制。但至少要确保使用最新补丁版本的次要版本(例如,如果您使用的是1.9.4,请使用最新的1.9版本,即1.9.13)。
这一特定问题可能已在更高版本的修补程序中修复。

这并没有完全按照书面形式回答问题,但这是我问题的最终解决方案

我已经重构了我的代码,这最终导致了一些代码缩减

我不再将JSON映射到java对象。在检查了我的代码之后,我意识到我在java对象上只做了很少的处理,然后将其重新序列化为JSON并从Jersey REST服务发送到前端

因此,我现在只是将JSON字符串直接返回为
字符串
,而不是由Jersey序列化为JSON的java对象


尽管如此,我仍然不知道真正的问题是什么。我仍然愿意听取其他人对这一例外的看法。不过现在,我有一个更好的解决方案。

我自己刚刚遇到这个问题,我发现我的
JsonProperty
注释中有重复的名称。在我的例子中,导致错误的bean引用了一个单独的类,其中存在实际的输入错误:

@JsonProperty("attributes") Object attributes,
@JsonProperty("attributes") BoundingBox boundingBox,
...
在重新检查和修复所有的施工人员后,我让它开始工作


底线:检查你的构造器

让我们看看您的JSON和目标类型。但您是否更改了您使用的JDK版本?我认为JDK对
异常的定义发生了变化(可能是1.7版本吧?),并包含了一个新属性。@StaxMan我们仍然使用1。6@SotiriosDelimanolis感谢您在没有我的json和目标类型的情况下发布答案。我没有发布json或目标类型,因为这是公司数据。您能尝试以最低限度的方式复制它吗?实际内容无关紧要。这是一种结构。
@JsonProperty("attributes") Object attributes,
@JsonProperty("attributes") BoundingBox boundingBox,
...