**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
四天前关门了。
改进这个问题
当与变量vs getters/setters一起使用时,jsonproperty是如何工作的?
例如,
情况1-@jsonproperty变量
class Shape {
@JsonProperty("area")
AreaCalculation area;
public AreaCalculation getArea(){
return area;
}
public AreaCalculation setArea(AreaCalculation area) {
this.area = area;
}
json响应(2个属性-1如预期,另一个是类名称的snakecase):
{
"area" : {
"data":"100"
},
"area_calculation": {
"data":"100"
}
}
场景2-@jsonproperty在getter/setters上
class Shape {
AreaCalculation area;
@JsonProperty("area")
public AreaCalculation getArea(){
return area;
}
@JsonProperty("area")
public AreaCalculation setArea(AreaCalculation area) {
this.area = area;
}
json响应:
{
"area" : {
"data":"100"
}
}
场景2中的响应是我所期望的。所以我想知道为什么这两种情况下的React不同,正确的方法是什么。
1条答案
按热度按时间ldioqlga1#
jackson将自动假定任何getter都是一个属性,除非@jsonignore标记存在。
把@jsonproperty标记也放在变量上,就是告诉jackson也写这个。
另外,setter方法上不需要@jsonproperty标记。
这就是所需要的:
我还倾向于使用@jsoninclude属性,如图所示,以防止写入空值和空值。