【发布时间】:2020-02-23 13:33:55
【问题描述】:
JAVA POJO:
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
@Getter @Setter
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Test1 {
@JsonProperty("aBCFeexxxx")
private double aBCFee;
}
测试代码:
public static void main(String[] args) throws JsonProcessingException {
Test1 t = new Test1();
t.setABCFee(10l);
System.out.println((new ObjectMapper()).writeValueAsString(t));
}
输出:
{"abcfee":10.0,"aBCFeexxxx":10.0}
为什么在输出中返回acbfee?
期望我们只需要返回aBCFeexxxx
我做错了什么?
PS:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
【问题讨论】:
-
我无法复制该问题。这是我得到的输出:
{"aBCFeexxxx":10.0} -
杰克逊版本是什么?
-
@michalk 更新版本问题... com.fasterxml.jackson.core:jackson-databind:2.9.6
标签: java json serialization jackson jackson2