From 8066cfbfb42b34990065765c09fd4e18b9c8b02b Mon Sep 17 00:00:00 2001 From: ZhiQiang Fan Date: Thu, 2 Nov 2023 20:29:37 +0800 Subject: [PATCH] feat: support extends --- .../tencentcloudapi/common/AbstractModel.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/tencentcloudapi/common/AbstractModel.java b/src/main/java/com/tencentcloudapi/common/AbstractModel.java index 23f6334fe3..019e6b24f6 100644 --- a/src/main/java/com/tencentcloudapi/common/AbstractModel.java +++ b/src/main/java/com/tencentcloudapi/common/AbstractModel.java @@ -58,14 +58,17 @@ private static JsonObject toJsonObject(O obj) { JsonObject jopublic = gson.toJsonTree(obj).getAsJsonObject(); for (Map.Entry entry : jopublic.entrySet()) { Object fo = null; - try { - Field f = obj.getClass().getDeclaredField(entry.getKey()); - f.setAccessible(true); - fo = f.get(obj); - } catch (Exception e) { - // this should never happen - e.printStackTrace(); - } + Class current = obj.getClass(); + do { + try { + Field f = current.getDeclaredField(entry.getKey()); + f.setAccessible(true); + fo = f.get(obj); + break; + } catch (Exception e) { + //e.printStackTrace(); + } + } while ((current = current.getSuperclass()) != null); if (fo instanceof AbstractModel) { joall.add(entry.getKey(), toJsonObject((AbstractModel) fo)); } else {