如何创建具有原始数据的java POJO类/ Json字符串的映射?

时间:2016-11-25 11:26:10

标签: java json pojo

我想像这样

制作地图(字符串,对象)

{AssessmentId=0, Physical_name='ram', Physical_height=20, Physical_weight=60}

来自我的Pojo课程 - InitialAssessment

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 等。

1 个答案:

答案 0 :(得分:0)

您可以使用此方法:

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;
}

它会为你提供像这样的pojo类的地图:

<强>输出:

 {AssessmentId=0, Physical_name='ram', Physical_gender='Male' , Physical_height=20, Physical_weight=60}