A Simple example demonstrating the usage of json annotation
This example has implementations for
@JsonIgnore - Ignore a field
@JsonIgnoreProperties - Ignore a set of fields
@JsonIgnoreType - Ignore a nested object
@JsonProperty - json object field name
@JsonPropertyOrder - order the fields in json
@JsonRootName - provide a root entity name for the json
@JsonRawValue - serialize the field as it is
@JsonInclude - helps to eliminate non null, non empty etc
@JsonAutoDetect - helps to visualize fields by controlling using access modifiers
@JsonGetter - map a json value to the getter
@JsonAnyGetter - add multiple different values not defined in the model with the usage of map
@JsonSetter - map a json value to the setter
@JsonTypeInfo - type information for serialization
@JsonSubTypes - sub types associatd with that type
@JsonTypeName - provide a type name for the class