2016-11-17 137 views
0

我試圖使用GSONJSON值映射到POJO。當我嘗試從JSON字符串中獲取對象時,所有變量都設置爲null。
這裏是我的代碼Android:將json值映射到pojo

Pojo.java

public class PatientSymptoms { 

    private Integer AnalSymptomsMapId; 
    private Integer SymptomId; 
    private String Symptom; 
    private Boolean IsRemoved; 
    private Boolean IsSynced; 
    private Boolean IsSentToPatient; 

    //Getters and Setters 
} 

映射代碼

JSONObject jsonObject = (JSONObject) jsonArray.get(i); 
PatientSymptoms symptoms = new PatientSymptoms(); 

Gson gson = new Gson(); 
String x = gson.toJson(jsonObject); 
symptoms = gson.fromJson(x,PatientSymptoms.class); 

PatientSymptoms對象的值總是空。這是調試器

debugger o/p

修訂 JSON響應

{ 
    "Success": true, 
    "StatusCode": 0, 
    "StatusMessage": "", 
    "Data": [ 
    { 
     "AnalSymptomsMapId": 250, 
     "SymptomId": 95, 
     "Symptom": "asdf", 
     "IsRemoved": false, 
     "IsSynced": false, 
     "IsSentToPatient": true 
    } 
    ] 
} 
+0

實現Parcelable。 – Nidhi

+0

發佈你的json請 – Alexander

+0

回覆已更新 –

回答

0

讓您Pojo.java的屏幕截圖作爲

public class PatientSymptoms { 

    private int AnalSymptomsMapId; 
    private int SymptomId; 
    private String Symptom; 
    private boolean IsRemoved; 
    private boolean IsSynced; 
    private boolean IsSentToPatient; 

    //Getters and Setters 
} 

所以,默認值將是那些的原始類型。

0

我建議讓你的模型中使用this

  1. 選擇來源類型:JSON
  2. 註釋風格:Gson
  3. 點擊預覽。

然後,您已爲您的JSON生成模型類。

而且不要忘記實施Parcelable

+0

對於這樣一個簡短的答案,請評論它! – AndiGeeky

+0

不幸的是,我必須有50的聲望來評論@AndiGeeky –

+0

哦,你可以從該鏈接複製一些內容,然後讓答案更具描述性! – AndiGeeky

0

我建議你嘗試​​

模型

public class PatientSymptoms { 

     private int AnalSymptomsMapId; 
     private int SymptomId; 
     private String Symptom; 
     private boolean IsRemoved; 
     private boolean IsSynced; 
     private boolean IsSentToPatient; 

    //Getters and Setters 
} 

用法

Ion.with(context) 
    .load("http://example.com/api/patient") 
    .as(new TypeToken<List<PatientSymptoms>>(){}) 
    .setCallback(new FutureCallback<List<PatientSymptoms>>() { 
     @Override 
     public void onCompleted(Exception e, List<PatientSymptoms> symptoms) { 
      // Use the list of Patient Symtoms 
    } 
}); 

注意:你需要記住的唯一的事情是JSON鍵應該匹配的POJO或MODEL中的變量名稱。