【发布时间】:2011-06-06 19:30:25
【问题描述】:
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 实现自定义解串器。
除了必须为杰克逊编写自定义反序列化器之外,还有其他选择吗?或者这是我唯一使用特定参数构造函数的选择吗?
如果有其他选择,请告诉我。
谢谢
【问题讨论】:
标签: android json gson jackson activeandroid