【问题标题】:@type in JSON responseJSON 响应中的 @type
【发布时间】:2013-04-05 03:20:12
【问题描述】:

我有一个通用类:

@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 错误。

【问题讨论】:

  • 我猜这从未得到解决,我遇到了同样的问题,我需要使用 '@XmlSeeAlso' 但我不想要 '@type' 输出但不知道如何阻止它被添加到输出中?

标签: java json jersey jackson generics


【解决方案1】:

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

【讨论】:

  • 我认为您在谈论@XmlSeeAlso,但如果我不说,它根本不会解析。我不想要任何类型信息。谢谢..
  • 你能把你完整的Response课程贴在这里吗?
【解决方案2】:

我也在为此苦苦挣扎,但这个问题很相似,答案很有效Binding a Generic Java Class to a JSON using JAXB

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

【讨论】:

    猜你喜欢
    • 2020-10-05
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 2020-10-04
    相关资源
    最近更新 更多