简体   繁体   中英

Getting Json object and Json Array in Same KEY

I am getting JSON Object when their is only one response(Plan) and JSON Array when their is more than one response(plan).How to handle JSON Response?

JSON ARRAY when their is more than one plan.

 {
            "ocrNumber": "0123456",
            "userName": "dddd",
            "plan": [{
                "lat": "13.1234",
                "long": "7.1234",
                "imagepath": "sd / image / demo.jpg"
            },{
                "lat": "13.1234",
                "long": "7.1234",
                "imagepath": "sd / image / demo.jpg"
            }]
        }

JSON OBJECT when their is only one plan.

 {
            "ocrNumber": "0123456",
            "userName": "dddd",
            "plan": {
                "lat": "13.1234",
                "long": "7.1234",
                "imagepath": "sd / image / demo.jpg"
            }
        }

add dependencies in your app level gradle file.

implementation 'com.google.code.gson:gson:2.8.5'

Create MyResponse.java

public class MyResponse {
    @SerializedName("ocrNumber")
    private String ocrNumber;   
    @SerializedName("userName")
    private String userName;

    @SerializedName("plan")
    private ArrayList<Plan> plan;

    public String getOcrNumber() {
        return ocrNumber;
    }

    public void setOcrNumber(String ocrNumber) {
        this.ocrNumber = ocrNumber;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public ArrayList<Plan> getPlan() {
        return plan;
    }

    public void setPlan(ArrayList<Plan> plan) {
        this.plan = plan;
    }
}

create Plan.java class

public class Plan {

    @SerializedName("lat")
    private String lat;
    @SerializedName("long")
    private String longStr;

    @SerializedName("imagepath")
    private String imagepath;


    public String getLat() {
        return lat;
    }

    public void setLat(String lat) {
        this.lat = lat;
    }

    public String getLongStr() {
        return longStr;
    }

    public void setLongStr(String longStr) {
        this.longStr = longStr;
    }

    public String getImagepath() {
        return imagepath;
    }

    public void setImagepath(String imagepath) {
        this.imagepath = imagepath;
    }
}

Convert your jsonString to object using Gson

Gson gson = new Gson();
MyResponse response = gson.fromJson(yourJsonString, MyResponse.class);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM