Код: Выделить всё
@Getter
@Setter
static class MyObject {
private String firstName;
private String lastName;
private long salary;
}
Код: Выделить всё
private static final String KEEP_ME = "$$$___KEEP_ME___$$$";
MyObject obj = new MyObject();
obj.setFirstName(KEEP_ME);
obj.setLastName(null);
obj.setSalary(1000);
Код: Выделить всё
{"firstName":null,"salary":1000}
Код: Выделить всё
static class NullStringSerializer implements JsonSerializer {
private static final String KEEP_ME = "$$$___KEEP_ME___$$$";
@Override
public JsonElement serialize(String src, Type typeOfSrc, JsonSerializationContext context) {
if (src == null) {
return JsonNull.INSTANCE;
}
if (KEEP_ME.equals(src)) {
return JsonNull.INSTANCE;
}
return context.serialize(src, typeOfSrc);
}
}
Код: Выделить всё
Gson gsonBuilder = newDefaultGson()
.registerTypeAdapter(String.class, new NullStringSerializer())
.create();
gsonBuilder.toJson(obj);
Код: Выделить всё
{"salary":1000}
Подробнее здесь: https://stackoverflow.com/questions/787 ... ic-pattern