如何创建包含原始数据的java POJO类/Json字符串的映射?
我想做一个像这样的贴图(字符串,对象)如何创建包含原始数据的java POJO类/Json字符串的映射?,java,json,pojo,Java,Json,Pojo,我想做一个像这样的贴图(字符串,对象) {AssessmentId=0,物理名=ram,物理身高=20,物理体重=60} 来自我的Pojo课程-初始评估 public class InitialAssessment { private long AssessmentId; private String physical_name; private String physical_gender; private int physical_height;
{AssessmentId=0,物理名=ram,物理身高=20,物理体重=60}
来自我的Pojo课程-初始评估
public class InitialAssessment {
private long AssessmentId;
private String physical_name;
private String physical_gender;
private int physical_height;
private float physical_weight;
// all getter And setter is Created here
}
无需使用任何外部库,如Gson等。您可以使用以下方法:
public Map getMapFromPojo(InitialAssessment assessment) throws Exception {
Map<String, Object> map = new HashMap<>();
if (assessment != null) {
Method[] methods = assessment.getClass().getMethods();
for (Method method : methods) {
String name = method.getName();
if (name.startsWith("get") && !name.equalsIgnoreCase("getClass")) {
Object value = "";
try {
value = method.invoke(assessment);
map.put(name.substring(name.indexOf("get") + 3), value);
} catch (Exception e) {
e.printStackTrace();
}
}
}
return map;
}
return null;
}
您可以使用以下方法:
public Map getMapFromPojo(InitialAssessment assessment) throws Exception {
Map<String, Object> map = new HashMap<>();
if (assessment != null) {
Method[] methods = assessment.getClass().getMethods();
for (Method method : methods) {
String name = method.getName();
if (name.startsWith("get") && !name.equalsIgnoreCase("getClass")) {
Object value = "";
try {
value = method.invoke(assessment);
map.put(name.substring(name.indexOf("get") + 3), value);
} catch (Exception e) {
e.printStackTrace();
}
}
}
return map;
}
return null;
}
反射是一种方法反射是一种方法