Java 泛型的反序列化
将反序列化的类型改成泛型后显示写法不对。
本来用的 JSONObject
反序列化的:
java
JSONObject.toBean(JSONObject.fromObject(strJson), ClassA.class)
但是改成 ClassA<ClassB>.class
时编译出错。
后来参照 Java 泛型和 JSON 的反序列化(上)、Java 泛型和 JSON 的反序列化(中)、Java 泛型和 JSON 的反序列化(下) 改成了下面的形式。(使用 jackson 的 TypeReference
实现泛型的反序列化。)
java
ClassA<ClassB> apiResult = new ObjectMapper().readValue(strJson, new TypeReference<ClassA<ClassB>>() { });