1. 程式人生 > >如何實現 Gson 序列化/反序列化過程中 過濾指定欄位

如何實現 Gson 序列化/反序列化過程中 過濾指定欄位

經過實戰:

gson 過濾某一個屬性  但是又想在反序列正常set值,這個梗越了一段時間

使用ExclusionStrategy定製欄位排除策略:也是通過newGsonBuilder()來設定,自定義程度很高(等效於同時設定GsonBuilder的addSerializationExclusionStrategyaddDeserializationExclusionStrategy方法)

ExclusionStrategy 是在序列化和反序列化統統過濾掉

addSerializationExclusionStrategy   序列化的時候過濾

addDeserializationExclusionStrategy  反序列的時候過濾


我的過濾是使用註解的方式實現的

new GsonBuilder()
        .addSerializationExclusionStrategy(new FooAnnotationExclusionStrategy())
        .create();