2012-05-10 45 views
0

我有以下的使用情況下,可以說我有一個對象CAR與蕙對象的列表- 傑克遜註釋從序列化中排除的類時,某些屬性符合特定條件

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

現在讓我們說輪子類有boolean isWinterTyre;

我想知道是否有任何註釋,自定義序列化的東西也許還是別的什麼,以某種方式詮釋一個Car類或Wheel類本身排除具有財產isWinterTyre = true全輪對象包含一個屬性'wheels'列表,同時將我的Java'Car'實例序列化爲JSON表示。

+0

你在尋找什麼輸出在json中? – Fireblaze

+0

json結構將是相同的,我只是想跳過一些輪子取決於它們的屬性。 – Kris

回答

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