JSON响应中的@type

时间:2013-04-05 03:20:13

标签: java json jersey jackson generics

我有一个Generic类:

@XmlSeeAlso({/*my classes here*/})
@XmlRootElement
public class Response<T> implements Serializable{ /*fields*/}

当JSON响应从服务器返回时,它带有一个@type信息。我想从响应中删除它。任何帮助将不胜感激。

响应如下所示:

{"response":{"@type":"myType","email":"abc@abc.com","firstName":"A","id":"3","lastName":"B","password":"12345","userName":"user"}}

我希望这不是Jackson或Jersey的错误。

2 个答案:

答案 0 :(得分:1)

这通常会显示,因为您的Response课程已使用@JsonTypeInfo进行注释。如果您不想要它,那么您可以删除此注释,但请记住,您将无法获得有关您要返回的类型的任何信息。

答案 1 :(得分:0)

我也在努力解决这个问题,但这个问题很相似,答案有效Binding a Generic Java Class to a JSON using JAXB

这是一个相当简单的答案,虽然我很难解释它为什么或如何运作,并且不会导致映射发生。