【发布时间】:2021-09-01 15:06:00
【问题描述】:
我在下面有一个函数,它接受一个字符串并使用 java 中的 Jackson Api 将其转换为 JSON 对象。
public JobConfig fromJson(String config) {
JobConfig lib = null;
try {
lib = mapper.readValue(config, JobConfig.class);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return lib;
}
JobConfig.class 是我的 JSON 结构的 JAVA Pojo。
我像下面这样调用这个函数-
JobConfig jobConfig = utils.fromJson(config);
问题是我必须为另一个 JSON 编写另一个函数,所以我希望它足够动态,所以当我调用这个函数时,我还可以发送 JobConfig.class 类,它应该会相应地返回。
在 scala 中我会做这样的事情 -
def fromJson[T : Manifest](s: String): T = Serialization.read[T](s)
不确定如何在 Java 中执行此操作。接受新的学习。
【问题讨论】:
-
你的意思是像
<T> T fromJson(String json, Class<T> type)这样可以像JobConfig config = utils.fromJson(config, JobConfig.class)这样调用吗?