【问题标题】:Why does @XmlType propOrder affect json order?为什么@XmlType propOrder 会影响 json 顺序?
【发布时间】:2019-02-26 16:03:04
【问题描述】:

我正在 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

【问题讨论】:

标签: java json xml jackson lombok


【解决方案1】:

我发现了问题。 Jboss 正在尝试使用来自org.codehaus.jacksonJsonPropertyOrder,而我正在使用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>

【讨论】:

    猜你喜欢
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多