Android:具有ActiveAndroid的Jackson

| 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一起实现自定义的脱硫器。 除了必须为杰克逊编写自定义解串器之外,还有其他选择吗?或者这是我唯一的一个特定参数构造函数的选项吗? 如果有其他选择,请告诉我。 谢谢     
已邀请:
        一种替代方法是应用混合注释(请参阅此Wiki或此博客文章)以添加@JsonCreator以指定要使用此特定的构造函数。 这需要\'Context \'来自JSON(可以使用构造函数参数上的@JsonProperty指定JSON中的名称);或可以传入null(如果从JSON中找不到这样的字段,则会发生)。 如果需要传递实际的外部上下文对象,则可以使用自定义反序列化器(直到实现了“外部值注入”;这是计划好的,但尚未添加)。     

要回复问题请先登录注册