Попробуйте JsonDeserializer
.Имея класс вроде:
@Getter @Setter
public class MyPojo {
private String fullName, firstName, lastName;
}
и JSON вроде:
{
"fullName": "Firstname Lastname"
}
, вы можете реализовать такой адаптер, как:
public class MyPojoAdapter implements JsonDeserializer<MyPojo> {
@Override
public MyPojo deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context)
throws JsonParseException {
MyPojo n = new Gson().fromJson(json, typeOfT);
String[] names = n.getFullName().split(" "); // or whatever your logic is
n.setFirstName(names[0]);
n.setLastName(names[1]);
return n;
}
}
Затем, прежде чем зарегистрировать Gson в Retrofitвам нужно добавить:
gson.registerTypeAdapter(MyPojo.class, new MyPojoAdapter());