Java Jackson-当某些属性满足特定条件时,注释要从序列化中排除的类
我有以下用例,假设我有一辆带有轮子对象列表的对象车Java Jackson-当某些属性满足特定条件时,注释要从序列化中排除的类,java,json,jackson,Java,Json,Jackson,我有以下用例,假设我有一辆带有轮子对象列表的对象车 class Car{ List<Wheel> wheels; //getters and setters.. } 现在让我们假设Wheel类有一个布尔属性isWinterTyre 我想知道是否有任何注释,自定义序列化之类的东西,在将Java“Car”实例序列化为JSON表示时,以某种方式注释Car类或Wheel类本身,以排除“wheels”列表中包含的所有具有属性isWinterTyre=true的Wheel对象。应该
class Car{
List<Wheel> wheels;
//getters and setters..
}
现在让我们假设Wheel类有一个布尔属性isWinterTyre
我想知道是否有任何注释,自定义序列化之类的东西,在将Java“Car”实例序列化为JSON表示时,以某种方式注释Car类或Wheel类本身,以排除“wheels”列表中包含的所有具有属性isWinterTyre=true的Wheel对象。应该可以使用自定义序列化。请参见教程
你在寻找json中的什么输出?json结构将是相同的,我只想根据它们的属性跳过一些轮子。
@JsonSerialize(using = CustomSerializer.class)
class Wheel {
//getters and setters..
}
public class CustomSerializer extends JsonSerializer<Wheel> {
@Override
public void serialize(Wheel value, JsonGenerator generator,
SerializerProvider provider) throws IOException,
JsonProcessingException {
if(value.getSomething() == something) {
//Output Wheel using the generator
} else {
//skip it
}
}
}