Packages

sealed abstract class Json extends AnyRef

This AST of JSON is made available so that arbitrary JSON may be included as part of a business object, it is not used as an intermediate representation, unlike most other JSON libraries. It is not advised to .map or .mapOrFail from these decoders, since a higher performance decoder is often available.

Beware of the potential for DOS attacks, since an attacker can provide much more data than is perhaps needed.

Also beware of converting Num (a BigDecimal) into any other kind of number, since many of the stdlib functions are non-total or are known DOS vectors (e.g. calling .toBigInteger on a "1e214748364" will consume an excessive amount of heap memory). JsonValue / Json / JValue

Self Type
Json
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Json
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def as[A](implicit decoder: JsonDecoder[A]): Either[String, A]
  2. final def equals(that: Any): Boolean
    Definition Classes
    Json → AnyRef → Any
  3. final def foldDown[A](initial: A)(f: (A, Json) => A): A
  4. final def foldDownSome[A](initial: A)(pf: PartialFunction[(A, Json), A]): A
  5. final def foldUp[A](initial: A)(f: (A, Json) => A): A
  6. final def foldUpSome[A](initial: A)(pf: PartialFunction[(A, Json), A]): A
  7. final def get[A <: Json](cursor: JsonCursor[_, A]): Either[String, A]
  8. final def hashCode(): Int
    Definition Classes
    Json → AnyRef → Any
  9. final def merge(that: Json): Json

    - merging objects results in a new objects with all pairs of both sides, with the right hand side being used on key conflicts

    - merging objects results in a new objects with all pairs of both sides, with the right hand side being used on key conflicts

    - merging arrays results in all of the individual elements being merged

    - scalar values will be replaced by the right hand side

  10. def toString(): String
    Definition Classes
    Json → AnyRef → Any
  11. final def transformDown(f: (Json) => Json): Json
  12. final def transformDownSome(pf: PartialFunction[Json, Json]): Json
  13. final def transformUp(f: (Json) => Json): Json
  14. final def transformUpSome(pf: PartialFunction[Json, Json]): Json
  15. final def widen: Json