Annotation introspector that leverages JAXB annotations where applicable to JSON mapping. As of Jackson 2.0, most JAXB annotations are supported at least to some degree. Ones that are NOT yet supported are:
- {@link XmlAnyAttribute} not yet used (as of 1.5) but may be in future (as an alias for @JsonAnySetter?)
- {@link XmlAnyElement} not yet used, may be as per [JACKSON-253]
- {@link javax.xml.bind.annotation.XmlAttachmentRef}: JSON does not support external attachments
- {@link XmlElementDecl}
- {@link XmlElementRefs} because Jackson doesn't have any support for 'named' collection items -- however,this may become partially supported as per [JACKSON-253].
- {@link javax.xml.bind.annotation.XmlInlineBinaryData} since the underlying concepts(like XOP) do not exist in JSON -- Jackson will always use inline base64 encoding as the method
- {@link javax.xml.bind.annotation.XmlList} because JSON does have (or necessarily need)method of serializing list of values as space-separated Strings
- {@link javax.xml.bind.annotation.XmlMimeType}
- {@link javax.xml.bind.annotation.XmlMixed} since JSON has no concept of mixed content
- {@link XmlRegistry}
- {@link XmlSchema} not used, unlikely to be used
- {@link XmlSchemaType} not used, unlikely to be used
- {@link XmlSchemaTypes} not used, unlikely to be used
- {@link XmlSeeAlso} not yet supported, but [ISSUE-1] filed to use it, so may be supported.
Note also the following limitations:
- Any property annotated with {@link XmlValue} will have a property named 'value' on its JSON object.
@author Ryan Heaton
@author Tatu Saloranta