2016-11-25 5 views
1

私は私のPOJOクラスからこのプリミティブデータを持つJava POJOクラス/ Json Stringのマップを作成する方法は?

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

よう地図(文字列、オブジェクト)を作りたい - 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

このアプリを使用することができますゴキブリ:

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} 
関連する問題