【发布时间】:2026-02-02 08:50:01
【问题描述】:
我正在尝试将一个字段值映射到另一个字段值(如果该字段值为空或零)。我正在使用 Gson 库来解析 Json。有什么方法可以根据条件映射值。我尝试使用 JsonAdapter 来为该字段设置条件,但无法找到解决方案如何在其中获取其他字段值。
【问题讨论】:
我正在尝试将一个字段值映射到另一个字段值(如果该字段值为空或零)。我正在使用 Gson 库来解析 Json。有什么方法可以根据条件映射值。我尝试使用 JsonAdapter 来为该字段设置条件,但无法找到解决方案如何在其中获取其他字段值。
【问题讨论】:
根据 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();
【讨论】: