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
- Alphabetic
- By Inheritance
- Json
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def arrayOrObject[X](or: => X, jsonArray: (Chunk[Json]) => X, jsonObject: (Obj) => X): X
- final def as[A](implicit decoder: JsonDecoder[A]): Either[String, A]
- def asArray: Option[Chunk[Json]]
- def asBoolean: Option[Boolean]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def asNull: Option[Unit]
- def asNumber: Option[Num]
- def asObject: Option[Obj]
- def asString: Option[String]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def delete(cursor: JsonCursor[_, _]): Either[String, Json]
Deletes json node specified by given cursor
Deletes json node specified by given cursor
- cursor
Cursor which specifies node to delete
- returns
Json without specified node if node specified by cursor exists, error otherwise
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def equals(that: Any): Boolean
- Definition Classes
- Json → AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def foldDown[A](initial: A)(f: (A, Json) => A): A
- final def foldDownSome[A](initial: A)(pf: PartialFunction[(A, Json), A]): A
- final def foldUp[A](initial: A)(f: (A, Json) => A): A
- final def foldUpSome[A](initial: A)(pf: PartialFunction[(A, Json), A]): A
- final def get[A <: Json](cursor: JsonCursor[_, A]): Either[String, A]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def hashCode(): Int
- Definition Classes
- Json → AnyRef → Any
- final def intersect(that: Json): Either[String, Json]
Intersects JSON values.
Intersects JSON values. If both values are
ObjorArrmethod returns intersections of its fields/elements, otherwise it returns error- returns
Intersected json if type are compatible, error otherwise
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def mapArray(f: (Chunk[Json]) => Chunk[Json]): Json
- def mapArrayValues(f: (Json) => Json): Json
- def mapBoolean(f: (Boolean) => Boolean): Json
- def mapNumber(f: (BigDecimal) => BigDecimal): Json
- def mapObject(f: (Obj) => Obj): Json
- def mapObjectEntries(f: ((String, Json)) => (String, Json)): Json
- def mapObjectKeys(f: (String) => String): Json
- def mapObjectValues(f: (Json) => Json): Json
- def mapString(f: (String) => String): Json
- 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
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def relocate(from: JsonCursor[_, _], to: JsonCursor[_, _]): Either[String, Json]
Relocates Json node from location specified by
fromcursor to location specified bytocursor.Relocates Json node from location specified by
fromcursor to location specified bytocursor.- from
Cursor which specifies node to relocate
- to
Cursor which specifies location where to relocate node
- returns
Json with relocated node if node specified by cursors exist, error otherwise
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Json → AnyRef → Any
- final def transformAt[A <: Json](cursor: JsonCursor[_, A])(f: (A) => Json): Either[String, Json]
Transforms json node specified by given cursor
Transforms json node specified by given cursor
- A
refined node type
- cursor
Cursor which specifies node to transform
- f
Function used to transform node
- returns
Json with transformed node if node specified by cursor exists, error otherwise
- final def transformDown(f: (Json) => Json): Json
- final def transformDownSome(pf: PartialFunction[Json, Json]): Json
- final def transformUp(f: (Json) => Json): Json
- final def transformUpSome(pf: PartialFunction[Json, Json]): Json
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def widen: Json