从对象获取类名

问题描述 投票:0回答:1

[我目前有将JSON字符串映射到api类的代码,但是我需要编码以在运行时将JSON映射到不同的类名,而不是一个硬编码的类名。

这是我当前的代码:

ObjectMapper aObjectMapper = new ObjectMapper();

aClass request = aObjectMapper.readValue(String, aClass.class);

效果很好。

-

现在而不是aClass,我希望能够映射到任何通用类名,但是尝试类似的事情

Class theRandomClass = theRandomClass.class; 

theRandomClass.getClass() request = aObjectMapper.readValue(String, theRandomClass.getClass()) //gives an error

任何想法如何解决?非常感谢。

java class objectmapper
1个回答
0
投票

您是否尝试过使用Class.forName()方法? (https://www.tutorialspoint.com/java/lang/class_forname_loader.htm


0
投票

[Class theRandomClass = theRandomClass.class;java.lang.Class对象分配给theRandomClass

哪个意思

aObjectMapper.readValue(String, theRandomClass.getClass())

[尝试将JSON字符串反序列化为java.lang.Class对象。如果不清楚问题出在哪里,请注意程序不能只创建java.lang.Class实例,因此Jackson将无法反序列化字符串。

您需要的是

aObjectMapper.readValue(String, theRandomClass)
© www.soinside.com 2019 - 2024. All rights reserved.