Получение Json объекта и Json массива в том же ключе - PullRequest
0 голосов
/ 16 апреля 2020

Я получаю JSON Объект, когда у них только один ответ (План) и JSON Массив, когда у них более одного ответа (плана). Как обработать JSON Ответ?

JSON Массив, когда их более одного плана.

 {
            "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, когда их только один план.

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

1 Ответ

1 голос
/ 16 апреля 2020

добавление зависимостей в файл gradle уровня приложения.

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

Создание 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;
    }
}

создание плана. 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;
    }
}

Преобразуйте jsonString в объект, используя Gson

Gson gson = new Gson();
MyResponse response = gson.fromJson(yourJsonString, MyResponse.class);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...