Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jackson-当某些属性满足特定条件时,注释要从序列化中排除的类_Java_Json_Jackson - Fatal编程技术网

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