通过Java中的键从对象获取值

时间:2019-01-30 12:07:08

标签: java json reflection entitymanager jsonparser

我在entityManager.find方法的响应中遇到了对象。 我想通过传递键从该对象获取值。但我没有成功。

例如:-

我的实体:-

@entity
class Test (){
public Long id;
public String name ;
public String descr;
}

并且我在以下代码的响应中遇到了对象。

`Object obj=`entitymanager.find(classname,id);

注意:-我不能直接使用实体的对象,因为可以动态传递输入类名称,这就是为什么我要在Object中进行响应。

现在我想通过传递键从对象中获取价值 诸如此类的obj.getvalue("id");

我尝试了以下事情来完成它:-

  1. Map<String, Object> user = (Map<String, Object>)obj;
  2. 使用json简单解析器对其进行解析。

    JSONParser parser = new JSONParser();

    JSONObject jsonObject = parser.parse(obj.toString());

但是没有成功。

请帮帮我。

2 个答案:

答案 0 :(得分:0)

我不太确定你在问什么...但是只要“ name”是可以调用的主键

Test obj = entitymanager.find(Test.class, name);

答案 1 :(得分:0)

Object obj= entitymanager.find(classname,id);

在上一行中,“类名”的类型是什么。 由于您的问题没有提及类型。我假设它的类型为Object。 你应该做类似的事情

Object obj= entitymanager.find(classname.getClass(),id);