Custom JSON attributes are mainly used to alter the marshaling and unmarshaling of elements within a SEQUENCE or SET. They allow the following alterations to be performed:
Change element name. This allows the ASN.1 name to be substituted for the Go element name.
Omit empty items from the encoding (omitempty). This allows optional elements to be omitted.
Remove elements (-). This allows elements to be removed that cannot be represented in JER (for example, an unknown extension).