在第一个为空或值为零的情况下,使用Gson将一个字段值映射到另一个字段

时间:2018-12-03 04:35:49

标签: parsing gson

我正在尝试将一个字段值映射为另一个字段值(如果该值为null或零)。我正在使用Gson库来解析Json。有什么方法可以在条件基础上映射值。我尝试使用JsonAdapter在其中可以为该字段添加条件,但无法找到解决方案如何在其中获取其他字段值。

1 个答案:

答案 0 :(得分:0)

编写自己的反序列化器,以根据json响应实现类似以下内容的JsonDeserializer<Element>

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();