我使用resteasy生成json。 一切正常,但......我无法订购生成的json的参数:
在我的序列化课程中,我有以下内容:
@XmlRootElement
@XmlType(propOrder={"foo1", "foo2", "foo3"})
在我生成的json中,我得到:
{"foo2":"bar2","foo1":"bar1","foo3":""}
我的pom.xml中有以下依赖项
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>2.2.0.GA</version>
</dependency>
任何想法?
答案 0 :(得分:2)
一个简单的答案是“它没关系” - JSON对象中的属性排序没有意义,因此库和框架可以按照他们想要的顺序自由输出它们。
但更复杂的答案可能是尝试使用杰克逊自己的 @JsonPropertyOrder 注释,这应该有效。除非您绝对必须使用JAXB注释,否则可能会解决您的问题。
即便如此,当启用JAXB注释模式时,Jackson应支持此JAXB注释。因此,如果您需要使用JAXB注释,则需要尝试找出未启用支持的原因。它可能会或可能不会启用RESTeasy,因为默认情况下Jackson本身不会使用它们(即框架必须明确启用它)。
答案 1 :(得分:0)
这与Jackson 2.3.2有关。升级,你的问题就消失了。