为什么@XmlType propOrder影响json顺序?

时间:2019-02-26 16:03:04

标签: java json xml jackson lombok

我正在Wildlfy Server 8.1.0.Final上部署具有以下依赖项的WS:

        <artifactId>jackson-jaxrs-json-provider</artifactId>
        <artifactId>resteasy-validator-provider-11</artifactId>
        <artifactId>resteasy-jaxrs</artifactId>
        <artifactId>javaee-web-api</artifactId>

您能告诉我为什么@XmlType更改JSON响应中的顺序吗?

import lombok.*;
import javax.xml.bind.annotation.*;
import java.math.BigDecimal;

@Data
@Builder
@XmlRootElement(name = "z")
@XmlAccessorType(XmlAccessType.FIELD)
@NoArgsConstructor
@AllArgsConstructor()
@XmlType(propOrder = {"a", "b", "c"})
public class Y{

    @XmlAttribute(name = "c")
    private BigDecimal c;

    @XmlAttribute(name = "b")
    private long b;

    @XmlAttribute(name = "a")
    private BigDecimal a;
}

我想知道为什么使用@XmlType可以用于JSON。 @JsonPropertyOrder对我不起作用。 :-s

1 个答案:

答案 0 :(得分:0)

我发现了问题。当我使用JsonPropertyOrder时,Jboss尝试使用org.codehaus.jackson中的com.fasterxml.jackson.annotation

解决方案是放在提供的POM范围内

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.9</version>
    <scope>provided</scope>
</dependency>
相关问题