我正在使用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自己选择它 .