某些环境中JSON缺少Jackson @XmlRootElement

时间:2014-07-15 22:24:12

标签: java json jboss jaxb jackson

我正在使用Jackson,RESTEasy,Spring并在JBOSS服务器上运行 我有一个带有JAXB注释的标准POJO,如下所示:

    @XmlRootElement(name="aRoot")
    public class aRoot{
        @XmlElement
        String aString;
        @XmlElement
        String bString;
    }

我遇到的问题是在一台服务器上我收到了JSON输出:

    {"aRoot":{"aString":"aValue","bString":"bValue"}}

然而在另一台服务器上,我收到了JSON输出:

    {"aString":"aValue","bString":"bValue"}

我对发生了什么感到困惑。我在两台服务器上都部署了相同的代码,我相信这两种配置方式相同。但是,在这一点上,我想知道是否需要在JBOSS服务器上设置一些配置以确保正确处理根元素,或者是否还有其他事情发生。有谁知道为什么我会在不同的环境中看到这两种明显不同的行为?

更新:
我解决了这个问题。我设法通过创建一个实现的类来实现:

    ContextResolver<ObjectMapper>

然后在我设置的构造函数中:

    this.objectMapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);

并为ContextResolver做了其他必需的实现细节。我还配置spring将它实例化为bean,Jackson自己选择它。

0 个答案:

没有答案