【发布时间】:2011-06-22 11:53:32
【问题描述】:
情况
我有一个包含泛型类型的类,它还有一个非零参数构造函数。我不想公开一个零参数的构造函数,因为它会导致错误的数据。
public class Geometries<T extends AbstractGeometry>{
private final GeometryType geometryType;
private Collection<T> geometries;
public Geometries(Class<T> classOfT) {
this.geometryType = lookup(classOfT);//strict typing.
}
}
有几个(已知的和最终的)类可以扩展 AbstractGeometry。
public final Point extends AbstractGeometry{ ....}
public final Polygon extends AbstractGeometry{ ....}
示例 json:
{
"geometryType" : "point",
"geometries" : [
{ ...contents differ... hence AbstractGeometry},
{ ...contents differ... hence AbstractGeometry},
{ ...contents differ... hence AbstractGeometry}
]
}
问题
如何编写一个 JsonDeserializer 来反序列化通用类型类(例如 Geometires)?
干杯:)
附言我不相信我需要一个 JsonSerializer,这应该是开箱即用的 :)
【问题讨论】:
-
sites.google.com/site/gson/… 应该可以工作。
-
你找到解决办法了吗?
标签: gson