Jakarta ee 将JSON字符串转换为Java对象不会填充内部Arraylist中的值

Jakarta ee 将JSON字符串转换为Java对象不会填充内部Arraylist中的值,jakarta-ee,Jakarta Ee,我正在尝试使用GSON将JSON字符串转换为java对象 我的JSON格式是: form = { appName:'', specialChars:'', resKeyword:'', inputType:'', noOfFiles:'', validationDetails: [ { fee

我正在尝试使用GSON将JSON字符串转换为java对象

我的JSON格式是:

form = {
              appName:'',
              specialChars:'',
              resKeyword:'',
              inputType:'',
              noOfFiles:'',
              validationDetails: [
                  {  feedFileName:'', 
                     dataTypes:'',           
                     validationRules:[
                         {  headerName:'',
                           mappingAtribute:'',
                           isMandatory:'',
                           isUnique:'',
                           dataType:''                                      }]                       
                  }]
        };
我创建了3个bean类:FormData、ValidationDetails和ValidationRules

FormData.java:

  public class FormData {
    private String appName;
    private String specialChars;
    private String resKeyword;
    private String inputType;
    private String noOfFiles;
    ArrayList<ValidationDetails> validationDetails= new ArrayList<ValidationDetails>();
//.... getters and setters
}
现在,当我尝试使用以下代码转换json字符串时:

 Gson g = new Gson();
 FormData form = g.fromJson(json, FormData.class);
ArrayList<ValidationDetails> validationDetailsArrayList = form.getValidationDetails();
// iterating over ArrayList
for(ValidationDetails a: validationDetailsArrayList){
   ArrayList<ValidationRules> validationRulesArrayList = a.getValidationRule();
//
System.out.println(a.getValidationRule()); // here this ArrayList is getting null
}
Gson g=new Gson();
FormData form=g.fromJson(json,FormData.class);
ArrayList validationDetailsArrayList=form.getValidationDetails();
//在ArrayList上迭代
对于(ValidationDetails a:ValidationDetailsArray列表){
ArrayList validationRulesArrayList=a.getValidationRule();
//
System.out.println(a.getValidationRule());//此处此ArrayList变为null
}
因此,ArrayListvalidationRulesArrayList没有使用JSON字符串中的值填充。我在这方面花了很多时间。
我遗漏了什么吗?

你能用“列表”代替ArrayListIt吗?我已经解决了。事实上,我犯了一个错误。在我的json格式中,内部数组是“validationRules”,但在POJO中,我定义了validationRule。这就是为什么之前没有正确映射的原因。无论如何,非常感谢utkusonmez。
 public class ValidationRules { 
    private String headerName;  
    private String mappingAtribute;
    private String isUnique;
    private String isMandatory;
    private String  dataType;
//.... getters and setters
}
 Gson g = new Gson();
 FormData form = g.fromJson(json, FormData.class);
ArrayList<ValidationDetails> validationDetailsArrayList = form.getValidationDetails();
// iterating over ArrayList
for(ValidationDetails a: validationDetailsArrayList){
   ArrayList<ValidationRules> validationRulesArrayList = a.getValidationRule();
//
System.out.println(a.getValidationRule()); // here this ArrayList is getting null
}