是否有一个选项(除了编写自定义的串行/解串器)GSON library,以不序列化/反序列化以后扩展类的一些水平.
例如,请参阅以下用例
class FirstClass {
int firstVariable;
}
class SecondClass extends FirstClass {
int secondVariable;
}
class ThirdClass extends SecondClass {
int thirdVariable;
}
Run Code Online (Sandbox Code Playgroud)
现在使用时fromJson,toJson我只想序列化/反序列化层次结构中的前两个类 - ThirdClass和SecondClass.这意味着它会忽略整个FirstClass(以及firstVariable它),因为它已经存在了level 3.
你不能一般地排除TopLevel类,你可以做的是使用ExclusionStrategy:
private static final Gson GSON = new GsonBuilder().addSerializationExclusionStrategy(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(FirstClass.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
}).create();
Run Code Online (Sandbox Code Playgroud)
您还可以将DeclusionStrategy添加到反序列化.
| 归档时间: |
|
| 查看次数: |
2222 次 |
| 最近记录: |