【问题标题】:Jersey pojo to json conversion泽西 pojo 到 json 转换
【发布时间】:2014-04-07 11:34:45
【问题描述】:
因为我们知道 Jersey 使用 Jaxb。我想澄清我的理解/确认,为了从 Object/POJO 获取 json,它首先将 POJO 转换为 XML,然后将 XML 转换为 JSON。我说的对吗
它是这样工作的吗。
实际上,我的一些技术同事向我推荐了这个。你们可以给我推荐一些好的链接/文章或验证上述声明吗,...我已经尽了最大的努力,但没有找到明确的帮助。
【问题讨论】:
标签:
xml
json
jersey
jax-rs
marshalling
【解决方案1】:
不,一般是错误的:当转换为 MediaType(在 JAX-RS API 中称为 XML 或 JSON 格式)时,您有一个 EntityProvider,它可以单独使用将 POJO 转换为 MediaType。
如何证明:只需从 POJO 中删除 @XmlRootElemnt(或者更好的是所有 JAXB 注释),您将看到 XML 转换将失败,但 JSON 不会(假设您使用 Jackson 而不是 MOXY )。当然,在使用 Moxy 时,可能会出现这种情况(尽管我真的怀疑这一点,因为这可能是一个性能问题),但通常情况并非如此。
查看the JAX-RS spec,提供者章节,了解此类提供者如何工作的详细信息。