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