举个例子:
class Car {
Door leftDoor;
Door rightDoor;
Door getLeftDoor();
Door getRightDoor();
}
class Door {
String getType();
}
我们的目标是让这个json:
{
"Door.lefttype": "A",
"Door.righttype": "B"
}
我已经配置了对象Map器,只有带有@jsonproperty的东西才会转换成json。
如果我只有一扇门,我可以 @JsonProperty("door.type")
在 String getDoorType()
. 但是由于同一类型有多个示例,我不能将注解放在最后一个类上。此外,我需要@jsonunwrapped,因为我不希望它在json中形成层次结构。我想要这个:
door.lefttype: "A"
而不是
door: {
lefttype: "A"
}
到目前为止我所拥有的(我使用的是接口+混合,因为我没有直接访问类的权限):
public interface CarMixin {
@JsonProperty
@JsonUnwrapped
Door getLeftDoor();
@JsonProperty
@JsonUnwrapped
Door getRightDoor();
}
public interface DoorMixIn {
@JsonProperty
String getType();
}
我需要确切的名字,所以这还不够。我需要使用命名的jsonproperties
1条答案
按热度按时间luaexgnf1#
我认为我对mixin的理解与您不同,我必须说我不太清楚您在修改现有类方面的限制有多大,但我认为以下几点可能会有所帮助: