Annotation Type Json
Can be used in the following locations:
- Marshalled classes/methods/fields.
@Rest -annotated classes and@RestOp -annotated methods when anon()
value is specified.
Can be used for the following:
-
Wrap bean instances inside wrapper object (e.g.
{'wrapperAttr':bean} ).
See Also:
-
Optional Element Summary
-
Element Details
-
on
Dynamically apply this annotation to the specified classes/methods/fields.Used in conjunction with
BeanContext.Builder.applyAnnotations(Class...)
to dynamically apply an annotation to an existing class/method/field. It is ignored when the annotation is applied directly to classes/methods/fields.Valid patterns:
- Classes:
- Fully qualified:
"com.foo.MyClass"
- Fully qualified inner class:
"com.foo.MyClass$Inner1$Inner2"
- Simple:
"MyClass"
- Simple inner:
"MyClass$Inner1$Inner2" "Inner1$Inner2" "Inner2"
- Fully qualified:
- Methods:
- Fully qualified with args:
"com.foo.MyClass.myMethod(String,int)" "com.foo.MyClass.myMethod(java.lang.String,int)" "com.foo.MyClass.myMethod()"
- Fully qualified:
"com.foo.MyClass.myMethod"
- Simple with args:
"MyClass.myMethod(String,int)" "MyClass.myMethod(java.lang.String,int)" "MyClass.myMethod()"
- Simple:
"MyClass.myMethod"
- Simple inner class:
"MyClass$Inner1$Inner2.myMethod" "Inner1$Inner2.myMethod" "Inner2.myMethod"
- Fully qualified with args:
- Fields:
- Fully qualified:
"com.foo.MyClass.myField"
- Simple:
"MyClass.myField"
- Simple inner class:
"MyClass$Inner1$Inner2.myField" "Inner1$Inner2.myField" "Inner2.myField"
- Fully qualified:
- A comma-delimited list of anything on this list.
See Also:
- Returns:
- The annotation value.
- Default:
- {}
- Classes:
-
onClass
Dynamically apply this annotation to the specified classes.Identical to
on()
except allows you to specify class objects instead of a strings.See Also:
- Returns:
- The annotation value.
- Default:
- {}
-
wrapperAttr
Wraps beans in a JSON object with the specified attribute name.Applies only to
ElementType.TYPE
.This annotation can be applied to beans as well as other objects serialized to other types (e.g. strings).
Example:
@Json (wrapperAttr="myWrapper" )public class MyBean {public int f1 = 123; }Without the
@Json annotations, serializing this bean as JSON would have produced the following...{ f1: 123 }
With the annotations, serializing this bean as JSON produces the following...
{ myWrapper: { f1: 123 } }
- Returns:
- The annotation value.
- Default:
- ""
-