diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java index 20f815c71..0e10ccf85 100644 --- a/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java +++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java @@ -20,6 +20,7 @@ */ package org.apache.struts2.json; +import com.opensymphony.xwork2.util.ProxyUtil; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.struts2.json.annotations.JSON; @@ -210,7 +211,7 @@ public class JSONWriter { BeanInfo info; try { - Class clazz = object.getClass(); + Class clazz = ProxyUtil.ultimateTargetClass(object); info = ((object == this.root) && this.ignoreHierarchy) ? getBeanInfoIgnoreHierarchy(clazz)