Reputation: 93
Can anyone guide me on how to nest the JSON object Activation under the JSON object Data.
See my JSON below:
{
"status": "Success",
"DATA": {
"aid": "0",
"app": "OASIS_EDGE",
"actkey": "STAR2020",
"expiredate": "2025-08-05 04:40:28.0",
"partner": "X",
"nsp": "NAD"
}
}
The JSON I actually expect:
{
"STATUS": "SUCCESS",
"DATA": {
"ACTIVATION": {
"aid": "0",
"app": "OASIS_EDGE",
"actkey": "STAR2020",
"expiredate": "2025-08-05 04:40:28.0",
"partner": "X",
"nsp": "NAD"
}
}
}
Here is my ActivationResponse.java class responsible for creating the JSON:
public class ActivationResponse {
private String Status;
public String getStatus()
{
return Status;
}
public void setStatus(String Status) {
this.Status = Status;
}
@JsonProperty("DATA")
private ActivationModel activationData;
public ActivationModel getActivationData() {
return activationData;
}
public void setActivationData(ActivationModel activationData2) {
this.activationData = activationData2;
}
}
Upvotes: 2
Views: 5683
Reputation: 3047
import com.fasterxml.jackson.databind.JsonNode;
public class ActivationResponse {
private String Status;
private JsonNode activationData;
public String getStatus() return Status;
public void setStatus(String Status) this.Status = Status;
public ActivationModel getActivationData() return activationData;
public void setActivationData(ActivationModel activationData2) {
activationData = activationData2;
}
}
import java.util.Map;
public class ActivationResponse {
private String Status;
private Map<String, Object> activationData;
public String getStatus() return Status;
public void setStatus(String Status) this.Status = Status;
public ActivationModel getActivationData() return activationData;
public void setActivationData(ActivationModel activationData2) {
activationData = activationData2;
}
}
I shamelessly borrowed from this tutorial (no affiliations)!
Upvotes: 0
Reputation: 26
Since you want activation under data, you need a class data with a field for activation, like the example below.
class MyJson {
private String Status;
@JsonProperty("DATA")
private DataModel data;
};
class DataModel {
@JsonProperty("ACTIVATION")
private ActivationModel activation;
};
Upvotes: 1