У меня есть ответ 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"]
}