Получение значения NULL для массива объектов внутри объекта при десериализации GSON - PullRequest
0 голосов
/ 14 июля 2020

У меня есть ответ JSON, как показано ниже, и мне нужно прочитать значения атрибутов из ответа JSON, используя десериализацию GSON. Правильное получение значений атрибутов уровня root. Но не получает значений для массива объектов [например, для Details, Meta в приведенном ниже ответе JSON] и показывает значение NULL. Следующие шаги: 1. Созданы классы POJO Root, Details и Meta

// Root Class  - Params & Methods 
private int Id;
private String Title, StartDate, LastUpdatedDate;
private boolean Locked;
private Details[] details;
private Meta[] meta;
private String[] AssignmentRoles;

…… Added getter & setter methods for above params

//  Details Class  - Params & Methods
private String Id,Name;
private boolean enables;
private int LCID;

…… Added getter & setter methods for above params

// Meta Class - Params & Methods
Private String MetaId, Name, Value;

…… Added getter & setter methods for above params

2.  To read attributes value using GSON

String rsp =  given()
        .header("Authorization", "XXXX")
        .get("http://XXXX.com:XXXXX")
        .then().extract().response().asString();

Gson gson = new Gson();  
Root root = gson.fromJson(rsp, Root.class); 
System.out.println(root);  // At this point value of Details and Meta are showing null. Please see result below 
System.out.println(root.getId()); // Getting values for the root level attributes and printed
System.out.println(root.getTitle());
System.out.println(root.getDetails()); //Getting NULL value for array of objects Details


Result
Root [Id=123, Title=photo, StartDate=2020-07-06, Locked= false, LastUpdatedDate=2020-07-06T19:40:14.000Z, accounts=null, attributes=null, AssignmentRoles=[Ljava.lang.String;@4f25b795]

JSON Response
{
  "Id": "123",
  "Title": "Photo",
  "StartDate": "2020-07-06",
  "Locked": "false",
  "LastUpdatedDate": "2020-07-06T19:40:14.000Z",
  "Details": [
    {
      "Id": "0014100000MU4pvAAD",
      "Name": "KBC",
      "enables": "true",
      "LCID": "1781"
    }
  ],
  "Meta": [
    {
      "MetaId": "AKD",
      "Name": "AKD-a123",
      "Value": "a123"
    },
    {
      "MetaId": "BKD",
      "Name": "BKD-b123",
      "Value": "b123"
    },
    {
      "MetaId": "CKD",
      "Name": "CKD-c123",
      "Value": "c123"
    },
    
  ],
  "AssignmentRoles": ["Payroll"]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...