Depends what are you using like below I am using Gson to parse this JSON into some POJO.
if you choose to use the default Json Api available on android then you can do something like this.
public void parseJson(JsonObject rootObj){
if(rootObj.has("Data")){
JSONArray array = rootObj.getJSONArray("Data");
for(int count = 0; count<array.length(); count++){
JSONObject inner = array.getJSONObject(count);
//use inner object
}
}
}
The Gson way
public void parseJson(JsonObject rootObj){
Gson gson = new Gson();
Example exp = gson.fromJson(rootObj,Example.class);
//your json is parsed use pojo to access the array inside
}
Pojo goes like this
public class Example {
@SerializedName("AgentTrxID")
@Expose
private String agentTrxID;
@SerializedName("Data")
@Expose
private List<Datum> data = null;
@SerializedName("Header")
@Expose
private List<Header> header = null;
@SerializedName("AgentStoreID")
@Expose
private String agentStoreID;
@SerializedName("message")
@Expose
private String message;
@SerializedName("code")
@Expose
private String code;
public String getAgentTrxID() {
return agentTrxID;
}
public void setAgentTrxID(String agentTrxID) {
this.agentTrxID = agentTrxID;
}
public List<Datum> getData() {
return data;
}
public void setData(List<Datum> data) {
this.data = data;
}
public List<Header> getHeader() {
return header;
}
public void setHeader(List<Header> header) {
this.header = header;
}
public String getAgentStoreID() {
return agentStoreID;
}
public void setAgentStoreID(String agentStoreID) {
this.agentStoreID = agentStoreID;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
Header
public class Header {
@SerializedName("Total")
@Expose
private Integer total;
@SerializedName("AdminFee")
@Expose
private Integer adminFee;
@SerializedName("IDPelanggan")
@Expose
private String iDPelanggan;
@SerializedName("Biller")
@Expose
private String biller;
@SerializedName("Alamat")
@Expose
private String alamat;
@SerializedName("GolonganTarif")
@Expose
private String golonganTarif;
@SerializedName("NomerReffTrans")
@Expose
private String nomerReffTrans;
@SerializedName("Nama")
@Expose
private String nama;
public Integer getTotal() {
return total;
}
public void setTotal(Integer total) {
this.total = total;
}
public Integer getAdminFee() {
return adminFee;
}
public void setAdminFee(Integer adminFee) {
this.adminFee = adminFee;
}
public String getIDPelanggan() {
return iDPelanggan;
}
public void setIDPelanggan(String iDPelanggan) {
this.iDPelanggan = iDPelanggan;
}
public String getBiller() {
return biller;
}
public void setBiller(String biller) {
this.biller = biller;
}
public String getAlamat() {
return alamat;
}
public void setAlamat(String alamat) {
this.alamat = alamat;
}
public String getGolonganTarif() {
return golonganTarif;
}
public void setGolonganTarif(String golonganTarif) {
this.golonganTarif = golonganTarif;
}
public String getNomerReffTrans() {
return nomerReffTrans;
}
public void setNomerReffTrans(String nomerReffTrans) {
this.nomerReffTrans = nomerReffTrans;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
}
Datum
public class Datum {
@SerializedName("Amount")
@Expose
private String amount;
@SerializedName("Denda")
@Expose
private String denda;
@SerializedName("kubikasi")
@Expose
private String kubikasi;
@SerializedName("Periode")
@Expose
private String periode;
public String getAmount() {
return amount;
}
public void setAmount(String amount) {
this.amount = amount;
}
public String getDenda() {
return denda;
}
public void setDenda(String denda) {
this.denda = denda;
}
public String getKubikasi() {
return kubikasi;
}
public void setKubikasi(String kubikasi) {
this.kubikasi = kubikasi;
}
public String getPeriode() {
return periode;
}
public void setPeriode(String periode) {
this.periode = periode;
}
}
object inner arrayandthat object