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

标签 java json pojo

我想制作一个像这样的 map (字符串,对象)

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

来 self 的 Pojo 类(class) - 初始评估

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

它会给你 pojo 类的映射,如下所示:

输出:

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

关于java - 如何创建具有原始数据的java POJO类/Json字符串的映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40803960/

相关文章:

java - 如何使用 jooq 而不是 xml 从表创建 java pojo?

java - Java POJO 中的字段、变量、属性和属性有什么区别?

java - 无法向 JButton 添加操作监听器

java - 将值从 fragment 传递到另一个错误

json - VS CODE错误S5057在指定目录: '.' 找不到tsconfig.json文件

javascript - 根据用户选择显示表单 - ajax

java - 如何使用 map 中的嵌入式集合填充对象?

java - android中字符串的比较

java - JSF p :dataTable (first entry wrong in p:columns) 的奇怪行为

java - Java 如何合并包含相同值的多个数组