package json
- Alphabetic
- By Inheritance
- json
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
DerivedFormats extends AnyRef
Mixin that enables derivation of JSON formats for any product (case classes) or coproduct (sealed traits) types.
- trait ImplicitDerivedFormats extends DerivedFormats
- type JsField = (String, JsValue)
-
final
class
gadt extends Annotation with StaticAnnotation
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:
// the JSON field "kind" will contain the actual type of the serialized child @gadt("kind") sealed abstract class Keyword(`type`: String) case class If(`type`: String) extends Keyword(`type`)
Value Members
- def deserializationError(msg: String, cause: Throwable, fieldNames: List[String]): Nothing
- implicit def enrichAny[T](any: T): RichAny[T]
- implicit def enrichString(string: String): RichString
- def jsonReader[T](implicit reader: JsonReader[T]): JsonReader[T]
- def jsonWriter[T](implicit writer: JsonWriter[T]): JsonWriter[T]
- def serializationError(msg: String): Nothing
- object DerivedFormatMacros
- object DerivedFormats extends DerivedFormats with DefaultJsonProtocol
- object ImplicitDerivedFormats extends ImplicitDerivedFormats with DefaultJsonProtocol