You can get a similar effect with the GSON @Expose
annotation using GsonBuilder.excludeFieldsWithoutExposeAnnotation()
.
E.g.
public class User {
@Expose private String firstName;
@Expose(serialize = false) private String lastName;
@Expose (serialize = false, deserialize = false) private String emailAddress;
private String password;
}
If you use Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create()
with the above class, then the toJson()
and fromJson()
methods will completely ignore the password field as it doesn't have an @Expose
annotation.
(Note you also get finer-grained control here as you can control whether GSON serializes/deserializes fields as well).
Reference: https://github.com/google/gson/blob/master/UserGuide.md#TOC-Gson-s-Expose
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…