diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpUserGsonAdapter.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpUserGsonAdapter.java index 0c32ba006..a477f1bbf 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpUserGsonAdapter.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpUserGsonAdapter.java @@ -127,8 +127,12 @@ public class WxCpUserGsonAdapter implements JsonDeserializer, JsonSeri switch (type) { case 0: { - attr.setTextValue(GsonHelper.getString(attrJsonElement.getAsJsonObject().get("text").getAsJsonObject(), - "value")); + JsonElement textJsonElement = attrJsonElement.getAsJsonObject().get("text"); + if (textJsonElement != null && !textJsonElement.isJsonNull() && textJsonElement.isJsonObject()) { + attr.setTextValue(GsonHelper.getString(textJsonElement.getAsJsonObject(), "value")); + } else { + attr.setTextValue(null); // Clear or set a default value to avoid stale data + } break; } case 1: {