Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建包含原始数据的java POJO类/Json字符串的映射?_Java_Json_Pojo - Fatal编程技术网

如何创建包含原始数据的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;
}

反射是一种方法反射是一种方法