ActiveAndroid имеет ограничение, что все его сущности должны наследоваться от определенного базового класса и иметь конструктор одного параметра, принимающий в контексте (из действия) в качестве входных данных. [Не фанат этого ограничения].
С помощью gson я могу создать адаптер типа, чтобы обойти это ограничение.
public class PolicyInstanceCreator implements InstanceCreator<Policy>{
private Context context;
public PolicyInstanceCreator(Context context) {
this.context = context;
}
@Override
public Policy createInstance(Type type) {
return new Policy(context);
}
}
Gson gson = new GsonBuilder().registerTypeAdapter(Policy.class, new PolicyInstanceCreator(context)).create();
Policy[] policies = gson.fromJson(myString, Policy[].class);
Одна возможность, по-видимому, заключается в том, что нам нужно реализовать пользовательский десериализатор с Джексоном.
Существуют ли альтернативы написанию собственного десериализатора для Джексона или это единственный вариант с конкретным конструктором с одним параметром?
Пожалуйста, дайте мне знать, если есть альтернатива.
Спасибо