Mixin that enables automatic derivation of JSON formats for any product (case classes) or coproduct (sealed traits) types.
An annotation that designates that a sealed trait is a generalized algebraic datatype (GADT), and that a type field containing the serialized childrens' types should be added to the final JSON objects.
An annotation that designates that a sealed trait is a generalized algebraic datatype (GADT), and that a type field containing the serialized childrens' types should be added to the final JSON objects.
Note that by default all sealed traits are treated as GADTs, with a type field called
type. This annotation enables overriding the name of that field and is really only useful if a child itself has a field calledtypethat would result in a conflict.Example: