我想为 JsonDeserialize 获取通用类的类型变量。Class Data<T> { private T data;}Class DataType { private String dummy;}Class dataTypeClass = DataType.class;// I want get this.Class dataClass = Data<dataTypeClass>.class;我试过这种方法,它不起作用。我可以得到 Data.class 吗?
1 回答
莫回无
TA贡献1865条经验 获得超7个赞
如果您使用 Jackson 作为您的图书馆。你可以只使用TypeReference:
TypeReference<Data<DataType>> r = new TypeReference<Data<DataType>>() {};
...
Data<DataType> data = objectMapper.readValue(json, r);
TypeReference此代码将创建一个新的参数化的匿名子类<Data<DataType>>。此类在内部使用“hackaround”来获取通用参数,然后由 Jackson 选择以反序列化您的 JSON。
添加回答
举报
0/150
提交
取消