动态获取类名和引用?

时间:2015-12-08 07:06:36

标签: java class reflection jackson

我有一行代码,我将Object转换为POJO。我正在使用杰克逊图书馆。

POJO container = objectMapper.convertValue(resource, POJO.class);

现在我必须为许多(约50个)POJO做这个。因此,我没有编写如此多的开关案例,而是想动态地在一行中完成。我有一个enum,我将从那里获得我的POJO名称。

有没有简单的方法来实现这一目标。我搜索并得知Class.forName将被使用。我会从那里得到POJO.class。如何动态引用POJO?

1 个答案:

答案 0 :(得分:0)

事实上,您可以直接转换为某些类,但您无法猜出哪个类:您的数据中也必须包含此信息

1指定数据的格式,并在

中嵌入类的名称

示例:

 {"classname":"MyClass","object":  ["var1": 1, "var2":33,"var3":"some string","var4":true] } 

2将您的数据读作“经典JSON对象”,获取类名,以及“其余部分”(对象)

3现在您拥有了您的班级名称:您可以将“对象”转换为您想要的名称。