gpt4 book ai didi

java - Jackson:如何在运行时使用泛型解码到类?

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:40 26 4
gpt4 key购买 nike

我需要在运行时使用泛型将 json 字符串解码为类。像这样的东西:

String classname = "this.is.a.class.name.read.at.runtime";
Class cls = Class.forName(classname);
mapper.readValue(jsonPayload, new TypeReference<GenericClass<cls>>() {});

显然,上述方法行不通,我也找不到好的解决方案。

最佳答案

以下代码解决了我的问题:

String genericParameterClassName = "this.is.a.class.name.read.at.runtime";
Class clazz = Class.forName(genericParameterClassName);
JavaType = mapper.getTypeFactory().constructParametrizedType(GenericClass.class,GenericClass.class,clazz);
GenericClass m = mapper.readValue(jsonPayload, type);

关于java - Jackson:如何在运行时使用泛型解码到类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35336646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com