gpt4 book ai didi

java - 为什么构造函数用@JsonCreator注解时,它的参数必须用@JsonProperty注解?

转载 作者:IT老高 更新时间:2023-10-28 11:35:45 30 4
gpt4 key购买 nike

在 Jackson 中,当您使用 @JsonCreator 注释构造函数时,必须使用 @JsonProperty 注释其参数。所以这个构造函数

public Point(double x, double y) {
this.x = x;
this.y = y;
}

变成这样:

@JsonCreator
public Point(@JsonProperty("x") double x, @JsonProperty("y") double y) {
this.x = x;
this.y = y;
}

我不明白为什么它是必要的。能解释一下吗?

最佳答案

Jackson 必须知道将字段从 JSON 对象传递到构造函数的顺序。在 Java 中使用反射无法访问参数名称 - 这就是您必须在注释中重复此信息的原因。

关于java - 为什么构造函数用@JsonCreator注解时,它的参数必须用@JsonProperty注解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21920367/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com