0

hello in my programs i have Json like this

{"AgentTrxID":"201802090013",
    "Data":
[{      "Amount":"000006000.00",
        "Denda":"00000000",
        "kubikasi":"00103000-00000000",
        "Periode":"201710"}],
    "Header":
[{      "Total":6000,
        "AdminFee":2500,
        "IDPelanggan":"0416610037",
        "Biller":"PDAM TIRTANADI",
        "Alamat":"JAGUNG Gg COMP BGR",
        "GolonganTarif":"RT.3",
        "NomerReffTrans":"",
        "Nama":"NADHIRAH OKTARI"}],
        "AgentStoreID":"01010101",
        "message":"SUCCESS",
        "code":"00"
}

in inner json have 2 array how i can get object inner array and that object thank you

1
  • what do you mean object inner array and that object Commented Feb 14, 2018 at 3:44

3 Answers 3

2

Pass the json data as string with name text to the below code :

    JSONObject outerObject = new JSONObject(text);
    JSONArray dataArray = outerObject.getJSONArray("Data");
    JSONObject objectInsideData = dataArray.getJSONObject(0);

    JSONArray headerArray = outerObject.getJSONArray("Header");
    JSONObject objectInsideHeader = headerArray.getJSONObject(0);
Sign up to request clarification or add additional context in comments.

2 Comments

i will try this is for android?
Yup android or any other language supporting json in java
0

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;
}

}

Comments

0

It's PHP CODE:

First take this in string or in file.

$json = json_decode(file_get_contents($target_file),TRUE);

to access your First Array You can use following code in php.

foreach ($json['Data'] as $key => $value)
    {  echo $value['Amount'];

}

To access second array use following code:

foreach ($json['Header'] as $key => $value)
    {  echo $value['Total'];

}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.