杰克逊 - 当某些属性符合特定标准时,注释要从序列化中排除的类

时间:2012-05-10 14:26:04

标签: java json jackson

我有以下用例,假设我有一个带有WHEEL对象列表的对象CAR

class Car{
   List<Wheel> wheels;
   //getters and setters..
}

现在让我们说Wheel类有一个属性boolean isWinterTyre;

我想知道是否有任何注释,自定义序列化的东西或其他东西,以某种方式注释Car类或Wheel类本身以排除具有属性{{的所有轮对象在将我的Java“isWinterTyre = true”实例序列化为JSON表示时,包含在“wheels”列表中。

1 个答案:

答案 0 :(得分:0)

应该可以使用自定义序列化。请参阅教程here

@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
                 }
            }
}