Сопоставить одно значение поля с другим полем, используя Gson при условии, как если бы первое было нулевым или имело нулевое значение - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь сопоставить одно значение поля другому, если оно равно нулю или нулю.Я использую библиотеку Gson для анализа Json.Есть ли способ сопоставить значения на основе условий.Я пытался использовать JsonAdapter, где я мог бы поставить условие для этого поля, но не смог найти решение, как получить другое значение поля, чтобы вставить это.

1 Ответ

0 голосов
/ 03 декабря 2018

Напишите свой собственный десериализатор, реализующий JsonDeserializer<Element> что-то вроде ниже согласно json response-

class CustomDeserializer implements JsonDeserializer<Element> {

    @Override
    public Element deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context) throws JsonParseException {

        JsonObject jobject = json.getAsJsonObject();
        JsonObject object = jobject.get("key").getAsJsonObject();

        if(object == null){

        }
        return null;

    }
}

Использование -

        GsonBuilder gsonBuilder = new GsonBuilder();
        gsonBuilder.registerTypeAdapter(Element.class, new CustomDeserializer());
        Gson gson = gsonBuilder.create();
...