diff --git a/example/example-app/example-app-cmd-domain/pom.xml b/example/example-app/example-app-cmd-domain/pom.xml
index 96a74c89..fb233989 100644
--- a/example/example-app/example-app-cmd-domain/pom.xml
+++ b/example/example-app/example-app-cmd-domain/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>example-app</artifactId>
-        <version>3.4.53</version>
+        <version>3.4.54</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/example/example-app/example-app-cmd-meta/pom.xml b/example/example-app/example-app-cmd-meta/pom.xml
index 1f30dec5..9ab44d9a 100644
--- a/example/example-app/example-app-cmd-meta/pom.xml
+++ b/example/example-app/example-app-cmd-meta/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>example-app</artifactId>
-        <version>3.4.53</version>
+        <version>3.4.54</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/example/example-app/example-app-query/pom.xml b/example/example-app/example-app-query/pom.xml
index 691aa289..f8f02e4d 100644
--- a/example/example-app/example-app-query/pom.xml
+++ b/example/example-app/example-app-query/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>example-app</artifactId>
-        <version>3.4.53</version>
+        <version>3.4.54</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/example/example-app/pom.xml b/example/example-app/pom.xml
index 5ec7d4ad..95f11dce 100644
--- a/example/example-app/pom.xml
+++ b/example/example-app/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>springboot-example</artifactId>
-        <version>3.4.53</version>
+        <version>3.4.54</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <packaging>pom</packaging>
diff --git a/example/example-domain/example-domain-leave/pom.xml b/example/example-domain/example-domain-leave/pom.xml
index 57318f6b..f5c1734e 100644
--- a/example/example-domain/example-domain-leave/pom.xml
+++ b/example/example-domain/example-domain-leave/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>example-domain</artifactId>
-        <version>3.4.53</version>
+        <version>3.4.54</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/example/example-domain/example-domain-user/pom.xml b/example/example-domain/example-domain-user/pom.xml
index a9aeef7c..2477be54 100644
--- a/example/example-domain/example-domain-user/pom.xml
+++ b/example/example-domain/example-domain-user/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>example-domain</artifactId>
-        <version>3.4.53</version>
+        <version>3.4.54</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/example/example-domain/pom.xml b/example/example-domain/pom.xml
index 2d386fde..c47712d3 100644
--- a/example/example-domain/pom.xml
+++ b/example/example-domain/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>springboot-example</artifactId>
-       <version>3.4.53</version>
+       <version>3.4.54</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/example/example-infra/example-infra-flow/pom.xml b/example/example-infra/example-infra-flow/pom.xml
index 6d07e454..da43affa 100644
--- a/example/example-infra/example-infra-flow/pom.xml
+++ b/example/example-infra/example-infra-flow/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>example-infra</artifactId>
-       <version>3.4.53</version>
+       <version>3.4.54</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/example/example-infra/example-infra-jpa/pom.xml b/example/example-infra/example-infra-jpa/pom.xml
index f16541db..f5f1c4e2 100644
--- a/example/example-infra/example-infra-jpa/pom.xml
+++ b/example/example-infra/example-infra-jpa/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>example-infra</artifactId>
-        <version>3.4.53</version>
+        <version>3.4.54</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/example/example-infra/example-infra-security/pom.xml b/example/example-infra/example-infra-security/pom.xml
index 2bc94984..d0fdab13 100644
--- a/example/example-infra/example-infra-security/pom.xml
+++ b/example/example-infra/example-infra-security/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>example-infra</artifactId>
-        <version>3.4.53</version>
+        <version>3.4.54</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/example/example-infra/pom.xml b/example/example-infra/pom.xml
index 09895679..637e53ca 100644
--- a/example/example-infra/pom.xml
+++ b/example/example-infra/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>springboot-example</artifactId>
-        <version>3.4.53</version>
+        <version>3.4.54</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <packaging>pom</packaging>
diff --git a/example/example-interface/pom.xml b/example/example-interface/pom.xml
index 7bf818fa..5eafea99 100644
--- a/example/example-interface/pom.xml
+++ b/example/example-interface/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>springboot-example</artifactId>
-        <version>3.4.53</version>
+        <version>3.4.54</version>
     </parent>
 
     <artifactId>example-interface</artifactId>
diff --git a/example/example-server/pom.xml b/example/example-server/pom.xml
index 8151e1b1..b5c8954c 100644
--- a/example/example-server/pom.xml
+++ b/example/example-server/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>springboot-example</artifactId>
         <groupId>com.codingapi.springboot</groupId>
-       <version>3.4.53</version>
+       <version>3.4.54</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/example/pom.xml b/example/pom.xml
index 78cb5201..f1281550 100644
--- a/example/pom.xml
+++ b/example/pom.xml
@@ -19,7 +19,7 @@
     </parent>
 
     <artifactId>springboot-example</artifactId>
-    <version>3.4.53</version>
+    <version>3.4.54</version>
 
     <name>springboot-example</name>
     <description>springboot-example project for Spring Boot</description>
diff --git a/pom.xml b/pom.xml
index 0b2203b8..82a3b015 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
 
     <groupId>com.codingapi.springboot</groupId>
     <artifactId>springboot-parent</artifactId>
-    <version>3.4.53</version>
+    <version>3.4.54</version>
 
     <url>https://github.com/codingapi/springboot-framewrok</url>
     <name>springboot-parent</name>
diff --git a/springboot-starter-data-authorization/pom.xml b/springboot-starter-data-authorization/pom.xml
index 09855ec5..d673b106 100644
--- a/springboot-starter-data-authorization/pom.xml
+++ b/springboot-starter-data-authorization/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>springboot-parent</artifactId>
-       <version>3.4.53</version>
+       <version>3.4.54</version>
     </parent>
 
     <name>springboot-starter-data-authorization</name>
diff --git a/springboot-starter-data-fast/pom.xml b/springboot-starter-data-fast/pom.xml
index cc7e535f..e1e9666d 100644
--- a/springboot-starter-data-fast/pom.xml
+++ b/springboot-starter-data-fast/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>springboot-parent</artifactId>
         <groupId>com.codingapi.springboot</groupId>
-       <version>3.4.53</version>
+       <version>3.4.54</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/springboot-starter-flow/pom.xml b/springboot-starter-flow/pom.xml
index c9508667..ba4a583f 100644
--- a/springboot-starter-flow/pom.xml
+++ b/springboot-starter-flow/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <artifactId>springboot-parent</artifactId>
         <groupId>com.codingapi.springboot</groupId>
-       <version>3.4.53</version>
+       <version>3.4.54</version>
     </parent>
 
     <name>springboot-starter-flow</name>
diff --git a/springboot-starter-script/pom.xml b/springboot-starter-script/pom.xml
index 955c084d..d9c4853b 100644
--- a/springboot-starter-script/pom.xml
+++ b/springboot-starter-script/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>springboot-parent</artifactId>
-        <version>3.4.53</version>
+        <version>3.4.54</version>
     </parent>
 
     <name>springboot-starter-script</name>
diff --git a/springboot-starter-script/src/main/java/com/codingapi/springboot/script/scanner/GroovyMetadataScannerUtils.java b/springboot-starter-script/src/main/java/com/codingapi/springboot/script/scanner/GroovyMetadataScannerUtils.java
index 06874df0..0577b510 100644
--- a/springboot-starter-script/src/main/java/com/codingapi/springboot/script/scanner/GroovyMetadataScannerUtils.java
+++ b/springboot-starter-script/src/main/java/com/codingapi/springboot/script/scanner/GroovyMetadataScannerUtils.java
@@ -1,19 +1,19 @@
 package com.codingapi.springboot.script.scanner;
 
+import com.codingapi.springboot.framework.reflect.ObjectAnnotationFieldUtils;
 import com.codingapi.springboot.script.GroovyScript;
 import com.codingapi.springboot.script.annotation.ScriptField;
 import com.codingapi.springboot.script.annotation.ScriptFunction;
 import com.codingapi.springboot.script.annotation.ScriptParameter;
 import com.codingapi.springboot.script.annotation.ScriptType;
-import com.codingapi.springboot.script.strategy.ScriptTypeMappingContext;
 import com.codingapi.springboot.script.meta.GroovyField;
 import com.codingapi.springboot.script.meta.GroovyFunction;
 import com.codingapi.springboot.script.meta.GroovyMetadata;
 import com.codingapi.springboot.script.meta.GroovyType;
 import com.codingapi.springboot.script.strategy.GroovyMetadataGenerateStrategyContext;
 import com.codingapi.springboot.script.strategy.GroovyTypeFixStrategyContext;
+import com.codingapi.springboot.script.strategy.ScriptTypeMappingContext;
 import lombok.Getter;
-import org.springframework.util.ClassUtils;
 import org.springframework.util.ReflectionUtils;
 import org.springframework.util.StringUtils;
 
@@ -209,92 +209,91 @@ public GroovyTypeScanner(Class<?> clazz, GroovyMetadataHolder holder) {
          * 加载字段信息
          */
         private void loadFields() {
-            ReflectionUtils.doWithFields(this.clazz, field -> {
-                ScriptField scriptField = field.getAnnotation(ScriptField.class);
-                if (scriptField != null) {
-                    Class<?> clazz = this.holder.getTargetClass(field.getType());
+            try {
+                ReflectionUtils.doWithFields(this.clazz, field -> {
+                    ScriptField scriptField = field.getAnnotation(ScriptField.class);
+                    if (scriptField != null) {
+                        Class<?> clazz = this.holder.getTargetClass(field.getType());
 
-                    GroovyTypeScanner scanner = new GroovyTypeScanner(clazz, this.holder);
-                    scanner.scanner();
+                        GroovyTypeScanner scanner = new GroovyTypeScanner(clazz, this.holder);
+                        scanner.scanner();
 
-                    GroovyField groovyField = new GroovyField();
-                    groovyField.setDataType(clazz.getSimpleName());
-                    groovyField.setName(field.getName());
+                        GroovyField groovyField = new GroovyField();
+                        groovyField.setDataType(clazz.getSimpleName());
+                        groovyField.setName(field.getName());
 
-                    if (StringUtils.hasText(scriptField.name())) {
-                        groovyField.setName(scriptField.name());
-                    }
-                    if (StringUtils.hasText(scriptField.description())) {
-                        groovyField.setDescription(scriptField.description());
+                        if (StringUtils.hasText(scriptField.name())) {
+                            groovyField.setName(scriptField.name());
+                        }
+                        if (StringUtils.hasText(scriptField.description())) {
+                            groovyField.setDescription(scriptField.description());
+                        }
+                        this.object.addField(groovyField);
                     }
-                    this.object.addField(groovyField);
-                }
-            });
+                });
+            }catch (Exception e){
+                System.out.println(this.clazz);
+                throw e;
+            }
         }
 
         /**
          * 加载函数信息
          */
         private void loadMethods() {
-            ReflectionUtils.doWithMethods(this.clazz, method -> {
-                ScriptFunction scriptFunction = method.getAnnotation(ScriptFunction.class);
-                if (scriptFunction != null) {
-                    GroovyFunction groovyFunction = new GroovyFunction();
-                    groovyFunction.setName(method.getName());
-
-                    if (StringUtils.hasText(scriptFunction.name())) {
-                        groovyFunction.setName(scriptFunction.name());
-                    }
-
-                    if (StringUtils.hasText(scriptFunction.description())) {
-                        groovyFunction.setDescription(scriptFunction.description());
-                    }
-
-                    Parameter[] methodParameters = method.getParameters();
-                    for (Parameter methodParameter : methodParameters) {
-                        Class<?> parameterClass = this.holder.getTargetClass(methodParameter.getType());
-
-                        GroovyTypeScanner scanner = new GroovyTypeScanner(parameterClass, this.holder);
-                        scanner.scanner();
+            try {
+                ReflectionUtils.doWithMethods(this.clazz, method -> {
+                    ScriptFunction scriptFunction = method.getAnnotation(ScriptFunction.class);
+                    if (scriptFunction != null) {
+                        GroovyFunction groovyFunction = new GroovyFunction();
+                        groovyFunction.setName(method.getName());
+
+                        if (StringUtils.hasText(scriptFunction.name())) {
+                            groovyFunction.setName(scriptFunction.name());
+                        }
 
-                        GroovyField groovyParameter = new GroovyField();
-                        groovyParameter.setDataType(parameterClass.getSimpleName());
-                        groovyParameter.setName(methodParameter.getName());
+                        if (StringUtils.hasText(scriptFunction.description())) {
+                            groovyFunction.setDescription(scriptFunction.description());
+                        }
 
-                        ScriptParameter scriptParameter = methodParameter.getAnnotation(ScriptParameter.class);
-                        if (scriptParameter != null) {
-                            if (StringUtils.hasText(scriptParameter.name())) {
-                                groovyParameter.setName(scriptParameter.name());
-                            }
-                            if (StringUtils.hasText(scriptParameter.description())) {
-                                groovyParameter.setDescription(scriptParameter.description());
+                        Parameter[] methodParameters = method.getParameters();
+                        for (Parameter methodParameter : methodParameters) {
+                            Class<?> parameterClass = this.holder.getTargetClass(methodParameter.getType());
+
+                            GroovyTypeScanner scanner = new GroovyTypeScanner(parameterClass, this.holder);
+                            scanner.scanner();
+
+                            GroovyField groovyParameter = new GroovyField();
+                            groovyParameter.setDataType(parameterClass.getSimpleName());
+                            groovyParameter.setName(methodParameter.getName());
+
+                            ScriptParameter scriptParameter = methodParameter.getAnnotation(ScriptParameter.class);
+                            if (scriptParameter != null) {
+                                if (StringUtils.hasText(scriptParameter.name())) {
+                                    groovyParameter.setName(scriptParameter.name());
+                                }
+                                if (StringUtils.hasText(scriptParameter.description())) {
+                                    groovyParameter.setDescription(scriptParameter.description());
+                                }
                             }
-                        }
 
-                        groovyFunction.addParameter(groovyParameter);
-                    }
+                            groovyFunction.addParameter(groovyParameter);
+                        }
 
-                    Class<?> returnType = this.holder.getTargetClass(method.getReturnType());
-                    GroovyTypeScanner scanner = new GroovyTypeScanner(returnType, this.holder);
-                    scanner.scanner();
-                    groovyFunction.setReturnType(returnType.getSimpleName());
+                        Class<?> returnType = this.holder.getTargetClass(method.getReturnType());
+                        GroovyTypeScanner scanner = new GroovyTypeScanner(returnType, this.holder);
+                        scanner.scanner();
+                        groovyFunction.setReturnType(returnType.getSimpleName());
 
-                    this.object.addFunction(groovyFunction);
-                }
-            });
+                        this.object.addFunction(groovyFunction);
+                    }
+                });
+            }catch (Exception e){
+                System.out.println(this.clazz);
+                throw e;
+            }
         }
 
-        /**
-         * 是否简单数据结构
-         */
-        private boolean isSimpleType() {
-            return this.clazz.isPrimitive()
-                    || ClassUtils.isPrimitiveOrWrapper(this.clazz)
-                    || this.clazz == String.class
-                    || this.clazz.isEnum()
-                    || Number.class.isAssignableFrom(this.clazz)
-                    || CharSequence.class.isAssignableFrom(this.clazz);
-        }
 
 
         /**
@@ -308,7 +307,7 @@ public void scanner() {
             }
 
             // 简单数据类型不处理
-            if (this.isSimpleType()) {
+            if (ObjectAnnotationFieldUtils.isSimpleType(this.clazz)) {
                 return;
             }
 
diff --git a/springboot-starter-security/pom.xml b/springboot-starter-security/pom.xml
index 80d66510..ba60d6d0 100644
--- a/springboot-starter-security/pom.xml
+++ b/springboot-starter-security/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <artifactId>springboot-parent</artifactId>
         <groupId>com.codingapi.springboot</groupId>
-       <version>3.4.53</version>
+       <version>3.4.54</version>
     </parent>
 
     <artifactId>springboot-starter-security</artifactId>
diff --git a/springboot-starter/pom.xml b/springboot-starter/pom.xml
index 5ec6cb03..8e3937d6 100644
--- a/springboot-starter/pom.xml
+++ b/springboot-starter/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>com.codingapi.springboot</groupId>
         <artifactId>springboot-parent</artifactId>
-       <version>3.4.53</version>
+       <version>3.4.54</version>
     </parent>
     <artifactId>springboot-starter</artifactId>
 
diff --git a/springboot-starter/src/main/java/com/codingapi/springboot/framework/reflect/ObjectAnnotationFieldUtils.java b/springboot-starter/src/main/java/com/codingapi/springboot/framework/reflect/ObjectAnnotationFieldUtils.java
index 1fa3c17a..62ab47b5 100644
--- a/springboot-starter/src/main/java/com/codingapi/springboot/framework/reflect/ObjectAnnotationFieldUtils.java
+++ b/springboot-starter/src/main/java/com/codingapi/springboot/framework/reflect/ObjectAnnotationFieldUtils.java
@@ -31,6 +31,20 @@ public static <T> AnnotationTargetFieldResult<T> findFieldAnnotationValue(Object
     }
 
 
+    /**
+     * 是否简单数据结构
+     * @param fieldType 字段类型
+     */
+    public static boolean isSimpleType(Class<?> fieldType) {
+        return fieldType.isPrimitive()
+                || ClassUtils.isPrimitiveOrWrapper(fieldType)
+                || fieldType == String.class
+                || fieldType.isEnum()
+                || Number.class.isAssignableFrom(fieldType)
+                || CharSequence.class.isAssignableFrom(fieldType);
+    }
+
+
     /**
      * 注解目标字段持有对象
      * @param <T> 字段类型
@@ -131,6 +145,9 @@ public ObjectAnnotationScanner(Object target, AnnotationTargetFieldHolder<T> val
          * 扫描对象
          */
         public void scanner() {
+            if(ObjectAnnotationFieldUtils.isSimpleType(this.targetClass)) {
+                return;
+            }
             if (this.target instanceof Collection<?>) {
                 for (Object item : (Collection) this.target) {
                     ObjectAnnotationScanner<T> scanner = new ObjectAnnotationScanner<>(item, this.valueHolder);
@@ -164,7 +181,7 @@ private void scannerFields() {
                 Object value = ReflectionUtils.getField(field, target);
                 Class<?> fieldTypeClass = field.getType();
                 if (value != null) {
-                    if (isSimpleType(fieldTypeClass)) {
+                    if (ObjectAnnotationFieldUtils.isSimpleType(fieldTypeClass)) {
                         Annotation annotation = field.getAnnotation(this.valueHolder.getAnnotationClass());
                         if (annotation != null) {
                             this.valueHolder.addFiled(field, target, (T) value);
@@ -176,18 +193,5 @@ private void scannerFields() {
                 }
             });
         }
-
-        /**
-         * 是否简单数据结构
-         * @param fieldType 字段类型
-         */
-        private boolean isSimpleType(Class<?> fieldType) {
-            return fieldType.isPrimitive()
-                    || ClassUtils.isPrimitiveOrWrapper(fieldType)
-                    || fieldType == String.class
-                    || fieldType.isEnum()
-                    || Number.class.isAssignableFrom(fieldType)
-                    || CharSequence.class.isAssignableFrom(fieldType);
-        }
     }
 }
diff --git a/springboot-starter/src/test/java/com/codingapi/springboot/framework/reflect/FieldAttribute.java b/springboot-starter/src/test/java/com/codingapi/springboot/framework/reflect/FieldAttribute.java
new file mode 100644
index 00000000..d8ac2d02
--- /dev/null
+++ b/springboot-starter/src/test/java/com/codingapi/springboot/framework/reflect/FieldAttribute.java
@@ -0,0 +1,17 @@
+package com.codingapi.springboot.framework.reflect;
+
+import lombok.Data;
+
+/**
+ * 附加属性
+ */
+@Data
+public class FieldAttribute {
+    // 属性key
+    @MyScript
+    private String key;
+    // 属性名称
+    private String label;
+    // 属性值
+    private Object value;
+}
diff --git a/springboot-starter/src/test/java/com/codingapi/springboot/framework/reflect/MyScript.java b/springboot-starter/src/test/java/com/codingapi/springboot/framework/reflect/MyScript.java
new file mode 100644
index 00000000..0506e280
--- /dev/null
+++ b/springboot-starter/src/test/java/com/codingapi/springboot/framework/reflect/MyScript.java
@@ -0,0 +1,9 @@
+package com.codingapi.springboot.framework.reflect;
+
+import java.lang.annotation.*;
+
+@Target({ElementType.FIELD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface MyScript {
+}
diff --git a/springboot-starter/src/test/java/com/codingapi/springboot/framework/reflect/ObjectAnnotationFieldUtilsTest.java b/springboot-starter/src/test/java/com/codingapi/springboot/framework/reflect/ObjectAnnotationFieldUtilsTest.java
new file mode 100644
index 00000000..6adf1fcd
--- /dev/null
+++ b/springboot-starter/src/test/java/com/codingapi/springboot/framework/reflect/ObjectAnnotationFieldUtilsTest.java
@@ -0,0 +1,40 @@
+package com.codingapi.springboot.framework.reflect;
+
+import com.alibaba.fastjson.JSONObject;
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class ObjectAnnotationFieldUtilsTest {
+
+    @Test
+    void findFieldAnnotationValue() {
+        String attribute2 = """
+                {
+                   "key":"123",
+                   "label":"123",
+                   "value":[
+                      {
+                        "data":"123"
+                      },
+                      {
+                        "data":"123"
+                      }
+                   ]
+                }
+                """;
+
+
+        FieldAttribute attributeObj1 =  new FieldAttribute();
+        FieldAttribute attributeObj2 =  JSONObject.parseObject(attribute2,FieldAttribute.class);
+
+
+        List<String> keys1 = ObjectAnnotationFieldUtils.findFieldAnnotationValue(attributeObj1,MyScript.class, String.class).getValues();
+        assertEquals(0,keys1.size());
+
+        List<String> keys2 = ObjectAnnotationFieldUtils.findFieldAnnotationValue(attributeObj2,MyScript.class, String.class).getValues();
+        assertEquals(1,keys2.size());
+    }
+}
\ No newline at end of file
