ActiveAndroid 有一个约束,即它的所有实体都需要从某个基类继承,并且需要有一个以 Context(来自活动)作为输入的单参数构造函数。[不喜欢这种约束]。
使用 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);
一种可能性似乎是我们需要使用 Jackson 实现一个自定义解串器。
是否有任何替代方法可以为杰克逊编写自定义反序列化器,或者这是我使用特定参数构造函数的唯一选择?
请让我知道是否有任何替代方案。
谢谢