Packages

final case class JsObj(bindings: Map[String, JsValue] = HashMap.empty) extends AbstractJsObj with IterableOnce[(String, JsValue)] with Json[JsObj] with Product with Serializable

represents an immutable Json object. There are several ways of creating a Json object, being the most common the following:

  • From a string, array of bytes or an input stream of bytes, using the parse functions of the companion object
  • From the apply function of the companion object.
bindings

immutable map of JsValue

Linear Supertypes
Serializable, Product, Equals, Json[JsObj], JsValue, IterableOnce[(String, JsValue)], AbstractJsObj, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsObj
  2. Serializable
  3. Product
  4. Equals
  5. Json
  6. JsValue
  7. IterableOnce
  8. AbstractJsObj
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new JsObj(bindings: Map[String, JsValue] = HashMap.empty)

    bindings

    immutable map of JsValue

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def apply(path: JsPath): JsValue

    Returns the element located at a specified path.

    Returns the element located at a specified path. This function is total on its argument. If no element is found, JsNothing is returned

    path

    the path

    returns

    the json value found at the path

    Definition Classes
    Json
  5. def apply(key: String): JsValue

    Retrieves the value which is associated with the given key.

    Retrieves the value which is associated with the given key. If there is no mapping from the given key to a value, JsNothing is returned.

    key

    the key

    returns

    the value associated with the given key

    Definition Classes
    AbstractJsObj
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. def concat(other: JsObj): JsObj
    Annotations
    @tailrec()
  9. def containsKey(key: String): Boolean

    Tests whether this json object contains a binding for a key.

    Tests whether this json object contains a binding for a key.

    key

    the key

    returns

    true if there is a binding for key in this map, false otherwise.

    Definition Classes
    AbstractJsObj
  10. def containsPath(path: JsPath): Boolean

    Returns true if there is an element at the specified path

    Returns true if there is an element at the specified path

    path

    the path

    returns

    true if the path exists, false otherwise

    Definition Classes
    Json
  11. def count(p: ((JsPath, JsValue)) => Boolean = (_: (JsPath, JsValue)) => true): Int

    Returns the number of elements that satisfy the given predicate

    Returns the number of elements that satisfy the given predicate

    p

    the predicate to test each path/value pair

    returns

    number of elements that satisfy the predicate

    Definition Classes
    Json
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(that: Any): Boolean
    Definition Classes
    JsObj → Equals → AnyRef → Any
  14. def exists(p: ((JsPath, JsValue)) => Boolean): Boolean

    Tests whether a predicate holds for at least one element of this Json

    Tests whether a predicate holds for at least one element of this Json

    p

    the predicate to test each path/value pair

    returns

    true if the given predicate is satisfied by at least one path/value pair, otherwise false

    Definition Classes
    Json
  15. def filter(p: (String, JsValue) => Boolean): JsObj
    Definition Classes
    AbstractJsObj
  16. def filterAll(p: (JsPrimitive) => Boolean): JsObj
    Definition Classes
    AbstractJsObj
  17. def filterAll(p: (JsPath, JsPrimitive) => Boolean): JsObj

    Selects all elements of this Json object which satisfy a predicate.

    Selects all elements of this Json object which satisfy a predicate.

    returns

    a new Json object consisting of all elements of this Json object that satisfy the given predicate p. The order of the elements is preserved.

    Definition Classes
    AbstractJsObj
  18. def filterAllJsObj(p: (JsObj) => Boolean): JsObj
    Definition Classes
    AbstractJsObj
  19. def filterAllJsObj(p: (JsPath, JsObj) => Boolean): JsObj
    Definition Classes
    AbstractJsObj
  20. def filterAllKeys(p: (String) => Boolean): JsObj
    Definition Classes
    AbstractJsObj
  21. def filterAllKeys(p: (JsPath, JsValue) => Boolean): JsObj
    Definition Classes
    AbstractJsObj
  22. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  23. def flatten: LazyList[(JsPath, JsValue)]

    Flatten this Json object into a LazyList of pairs of (JsPath,JsValue) traversing recursively every noe-empty Json found along the way.

    Flatten this Json object into a LazyList of pairs of (JsPath,JsValue) traversing recursively every noe-empty Json found along the way.

    returns

    a LazyList of pairs of JsPath and JsValue

    Definition Classes
    AbstractJsObj
  24. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  25. def head: (String, JsValue)

    Selects the next element of the iterator of this Json object, throwing a NoSuchElementException if the Json object is empty

    Selects the next element of the iterator of this Json object, throwing a NoSuchElementException if the Json object is empty

    returns

    the next element of the iterator of this Json object.

    Definition Classes
    AbstractJsObj
  26. def headOption: Option[(String, JsValue)]

    Optionally selects the next element of the iterator of this Json object.

    Optionally selects the next element of the iterator of this Json object.

    returns

    the first element of this Json object if it is nonempty. None if it is empty.

    Definition Classes
    AbstractJsObj
  27. def id: Int

    Every implementation of this trait has an unique identifier in order.

    Every implementation of this trait has an unique identifier in order.

    returns

    unique identifier of the type

    Definition Classes
    JsObjJsValue
  28. def init: JsObj
    Definition Classes
    AbstractJsObj
  29. def inserted(path: JsPath, value: JsValue, padWith: JsValue = JsNull): JsObj

    Creates a new Json obtained by inserting a given path/value pair into this Json.

    Creates a new Json obtained by inserting a given path/value pair into this Json. The given element is always inserted at the given path, even if it requires to create new Json or padding arrays.

    path

    the path

    value

    the value

    returns

    A new Json with the new path/value mapping added to this Json.

    Definition Classes
    JsObjJson
    Note

    inserted function unless updated, always inserts the given path/value pair

  30. def isArr(predicate: (JsArray) => Boolean): Boolean

    returns true if this is an array that satisfies a predicate

    returns true if this is an array that satisfies a predicate

    Definition Classes
    JsValue
  31. def isArr: Boolean

    returns true if this is an array

    returns true if this is an array

    Definition Classes
    AbstractJsObj
  32. def isBigDec: Boolean

    returns true if this is a big decimal.

    returns true if this is a big decimal.

    Definition Classes
    JsonJsValue
  33. def isBigInt: Boolean

    returns true if this is a big integer.

    returns true if this is a big integer.

    Definition Classes
    JsonJsValue
  34. def isBool: Boolean

    returns true if this is a boolean

    returns true if this is a boolean

    Definition Classes
    JsonJsValue
  35. def isDecimal(predicate: (BigDecimal) => Boolean): Boolean

    returns true if this is a big decimal that satisfies a predicate

    returns true if this is a big decimal that satisfies a predicate

    Definition Classes
    JsValue
  36. def isDecimal: Boolean

    returns true if this type is a decimal number

    returns true if this type is a decimal number

    returns

    isDouble || isBigDec

    Definition Classes
    JsValue
  37. def isDouble: Boolean

    returns true if this is a double

    returns true if this is a double

    Definition Classes
    JsonJsValue
  38. def isDouble(predicate: (Double) => Boolean): Boolean

    returns true if this is a double that satisfies a predicate

    returns true if this is a double that satisfies a predicate

    Definition Classes
    JsValue
  39. def isEmpty: Boolean

    Tests whether the Json object is empty.

    Tests whether the Json object is empty.

    returns

    true if the Json object contains no elements, false otherwise.

    Definition Classes
    AbstractJsObj
  40. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  41. def isInt: Boolean

    returns true if this is an integer (32 bit precision number)

    returns true if this is an integer (32 bit precision number)

    Definition Classes
    JsonJsValue
  42. def isInt(predicate: (Int) => Boolean): Boolean

    returns true if this is an integer that satisfies a predicate

    returns true if this is an integer that satisfies a predicate

    Definition Classes
    JsValue
  43. def isIntegral(predicate: (BigInt) => Boolean): Boolean

    returns true if this is a big integer that satisfies a predicate

    returns true if this is a big integer that satisfies a predicate

    Definition Classes
    JsValue
  44. def isIntegral: Boolean

    returns true if this type is an integral number

    returns true if this type is an integral number

    returns

    isInt || isLong || isBigInt

    Definition Classes
    JsValue
  45. def isJson: Boolean

    returns true is this type is an array or an object

    returns true is this type is an array or an object

    Definition Classes
    JsValue
  46. def isJson(predicate: (Json[_]) => Boolean): Boolean

    returns true if this is a json that satisfies a predicate

    returns true if this is a json that satisfies a predicate

    predicate

    the predicate

    Definition Classes
    JsValue
  47. def isLong: Boolean

    returns true if this is a long (62 bit precision number)

    returns true if this is a long (62 bit precision number)

    Definition Classes
    JsonJsValue
  48. def isLong(predicate: (Long) => Boolean): Boolean

    returns true if this is a long that satisfies a predicate

    returns true if this is a long that satisfies a predicate

    Definition Classes
    JsValue
  49. def isNotEmpty: Boolean
    Definition Classes
    Json
  50. def isNotJson: Boolean

    returns true if this is neither an object nor an array

    returns true if this is neither an object nor an array

    Definition Classes
    JsValue
  51. def isNotNull: Boolean

    returns true if this is not null

    returns true if this is not null

    Definition Classes
    JsValue
  52. def isNotNumber: Boolean

    returns true if this is not a number

    returns true if this is not a number

    Definition Classes
    JsValue
  53. def isNothing: Boolean

    returns true if this is JsNothing

    returns true if this is JsNothing

    Definition Classes
    JsonJsValue
  54. def isNull: Boolean

    returns true if this is JsNull

    returns true if this is JsNull

    Definition Classes
    JsonJsValue
  55. def isNumber: Boolean

    returns true if this is a number

    returns true if this is a number

    Definition Classes
    JsonJsValue
  56. def isObj(predicate: (JsObj) => Boolean): Boolean

    returns true if this is an object that satisfies a predicate

    returns true if this is an object that satisfies a predicate

    Definition Classes
    JsValue
  57. def isObj: Boolean

    returns true if this is an object

    returns true if this is an object

    Definition Classes
    AbstractJsObj
  58. def isPrimitive: Boolean

    returns true is this is a primitive type

    returns true is this is a primitive type

    Definition Classes
    JsonJsValue
  59. def isStr: Boolean

    returns true if this is a string

    returns true if this is a string

    Definition Classes
    JsonJsValue
  60. def isStr(predicate: (String) => Boolean): Boolean

    returns true if this is a string that satisfies a predicate

    returns true if this is a string that satisfies a predicate

    Definition Classes
    JsValue
  61. def iterator: Iterator[(String, JsValue)]

    Returns an iterator of this Json object.

    Returns an iterator of this Json object. Can be used only once

    returns

    an iterator

    Definition Classes
    AbstractJsObj
  62. def keySet: Set[String]

    Collects all keys of this map in a set.

    Collects all keys of this map in a set.

    returns

    a set containing all keys of this map.

    Definition Classes
    AbstractJsObj
  63. def keys: Iterable[String]

    Collects all keys of this Json object in an iterable collection.

    Collects all keys of this Json object in an iterable collection.

    returns

    the keys of this Json object as an iterable.

    Definition Classes
    AbstractJsObj
  64. def knownSize: Int
    Definition Classes
    IterableOnce
  65. def last: (String, JsValue)

    Selects the last element of the iterator of this Json object, throwing a NoSuchElementException if the Json object is empty

    Selects the last element of the iterator of this Json object, throwing a NoSuchElementException if the Json object is empty

    returns

    the last element of the iterator of this Json object.

    Definition Classes
    AbstractJsObj
  66. def lastOption: Option[(String, JsValue)]

    Optionally selects the last element of the iterator of this Json object.

    Optionally selects the last element of the iterator of this Json object.

    returns

    the last element of the iterator of this Json object, None if it is empty.

    Definition Classes
    AbstractJsObj
  67. def map(m: (String, JsValue) => JsValue, p: (String, JsValue) => Boolean = (_, _) => true): JsObj
    Definition Classes
    AbstractJsObj
  68. def mapAll(m: (JsPath, JsPrimitive) => JsValue, p: (JsPath, JsPrimitive) => Boolean = (_, _) => true): JsObj
    Definition Classes
    AbstractJsObj
  69. def mapAll(m: (JsPrimitive) => JsValue): JsObj
    Definition Classes
    AbstractJsObj
  70. def mapAllKeys(m: (String) => String): JsObj
    Definition Classes
    AbstractJsObj
  71. def mapAllKeys(m: (JsPath, JsValue) => String, p: (JsPath, JsValue) => Boolean = (_, _) => true): JsObj
    Definition Classes
    AbstractJsObj
  72. def mapKeys(m: (String, JsValue) => String, p: (String, JsValue) => Boolean = (_, _) => true): JsObj
    Definition Classes
    AbstractJsObj
  73. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  74. final def nonEmpty: Boolean

    returns true if the Json is non empty

    returns true if the Json is non empty

    returns

    true if non empty, false otherwise

    Definition Classes
    Json
  75. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  76. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  77. def productElementNames: Iterator[String]
    Definition Classes
    Product
  78. def reduceAll[V](p: (JsPath, JsPrimitive) => Boolean = (_, _) => true, m: (JsPath, JsPrimitive) => V, r: (V, V) => V): Option[V]
    Definition Classes
    AbstractJsObj
  79. def removed(path: JsPath): JsObj

    Removes a path from this Json

    Removes a path from this Json

    path

    the path to be removed

    returns

    If this Json does not contain a binding for path it is returned unchanged. Otherwise, returns a new Json without a binding for path

    Definition Classes
    JsObjJson
  80. def removedAll(xs: IterableOnce[JsPath]): JsObj

    Creates a new Json from this Json by removing all paths of another collection

    Creates a new Json from this Json by removing all paths of another collection

    xs

    the collection containing the paths to remove

    returns

    a new Json with the given paths removed.

    Definition Classes
    JsObjJson
  81. def serialize: Array[Byte]

    Serialize this Json into an array of bytes.

    Serialize this Json into an array of bytes. When possible, it's more efficient to work on byte level that with strings

    returns

    this Json serialized into an array of bytes

    Definition Classes
    Json
  82. def serialize(outputStream: OutputStream): () => Unit

    Returns a zero-argument function that when called, it serializes this Json into the given output stream, no returning anything

    Returns a zero-argument function that when called, it serializes this Json into the given output stream, no returning anything

    outputStream

    the output stream

    returns

    () => Unit function that serializes this Json into the given output stream

    Definition Classes
    Json
  83. def size: Int

    The size of this Json object.

    The size of this Json object. *

    returns

    the number of elements in this Json object.

    Definition Classes
    AbstractJsObj
  84. def stepper[S <: Stepper[_]](implicit shape: StepperShape[(String, JsValue), S]): S
    Definition Classes
    IterableOnce
  85. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  86. def tail: JsObj
    Definition Classes
    AbstractJsObj
  87. def toJsArray: JsArray

    Throws an UserError exception

    Throws an UserError exception

    returns

    Throws an UserError exception

    Definition Classes
    AbstractJsObj
  88. def toJsBigDec: JsBigDec

    returns this value as a JsBigDec if it's a decimal number, throwing an UserError otherwise.

    returns this value as a JsBigDec if it's a decimal number, throwing an UserError otherwise. It's the responsibility of the caller to make sure the call to this function doesn't fail. The guard condition isDecimal can help to that purpose.

    Definition Classes
    JsonJsValue
  89. def toJsBigInt: JsBigInt

    returns this value as a JsBigInt if it's an integral number, throwing an UserError otherwise.

    returns this value as a JsBigInt if it's an integral number, throwing an UserError otherwise. It's the responsibility of the caller to make sure the call to this function doesn't fail. The guard condition isIntegral can help to that purpose.

    Definition Classes
    JsonJsValue
  90. def toJsBool: JsBool

    returns this value as a JsBool if it's a boolean, throwing an UserError otherwise.

    returns this value as a JsBool if it's a boolean, throwing an UserError otherwise. It's the responsibility of the caller to make sure the call to this function doesn't fail. The guard condition isBool can help to that purpose.

    Definition Classes
    JsonJsValue
  91. def toJsDouble: JsDouble

    returns this value as a JsDouble if it is a JsLong or a JsInt or a JsDouble, throwing an UserError otherwise.

    returns this value as a JsDouble if it is a JsLong or a JsInt or a JsDouble, throwing an UserError otherwise. It's the responsibility of the caller to make sure the call to this function doesn't fail. The guard condition || isLong || isDouble can help to that purpose.

    Definition Classes
    JsonJsValue
  92. def toJsInt: JsInt

    returns this value as a JsInt, throwing an UserError otherwise.

    returns this value as a JsInt, throwing an UserError otherwise. It's the responsibility of the caller to make sure the call to this function doesn't fail. The guard condition isInt can help to that purpose.

    Definition Classes
    JsonJsValue
  93. def toJsLong: JsLong

    returns this value as a JsLong if it is a JsLong or a JsInt, throwing an UserError otherwise.

    returns this value as a JsLong if it is a JsLong or a JsInt, throwing an UserError otherwise. It's the responsibility of the caller to make sure the call to this function doesn't fail. The guard condition || isLong can help to that purpose.

    Definition Classes
    JsonJsValue
  94. def toJsNull: JsNull.type

    returns this value as a JsNull if it's null, throwing an UserError otherwise.

    returns this value as a JsNull if it's null, throwing an UserError otherwise. It's the responsibility of the caller to make sure the call to this function doesn't fail. The guard condition isNull can help to that purpose.

    Definition Classes
    JsonJsValue
  95. def toJsNumber: JsNumber

    returns this value as a JsNumber if it's a number, throwing an UserError otherwise.

    returns this value as a JsNumber if it's a number, throwing an UserError otherwise. It's the responsibility of the caller to make sure the invocation to this function doesn't fail. The guard condition isNumber can help to that purpose.

    Definition Classes
    JsonJsValue
  96. def toJsObj: JsObj

    Returns this Json object

    Returns this Json object

    returns

    this Json object as a JsObj

    Definition Classes
    JsObjJsValue
  97. def toJsPrimitive: JsPrimitive
    Definition Classes
    JsonJsValue
  98. def toJsStr: JsStr

    returns this value as a JsStr if it's a string, throwing an UserError otherwise.

    returns this value as a JsStr if it's a string, throwing an UserError otherwise. It's the responsibility of the caller to make sure the call to this function doesn't fail. The guard condition isStr can help to that purpose.

    Definition Classes
    JsonJsValue
  99. def toJson: Json[_]

    Returns this Json object as a Json

    Returns this Json object as a Json

    returns

    this Json object as a Json

    Definition Classes
    JsObjJsValue
  100. def toPrettyString: String

    Converts the string representation of this Json to a pretty print version

    Converts the string representation of this Json to a pretty print version

    returns

    pretty print version of the string representation of this Json

    Definition Classes
    Json
  101. def toString(): String

    string representation of this Json array.

    string representation of this Json array. It's a lazy value which is only computed once.

    returns

    string representation of this Json array

    Definition Classes
    JsObjJson → AnyRef → Any
  102. def validate(spec: JsObjSpec): LazyList[(JsPath, Invalid)]
  103. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  104. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  105. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Json[JsObj]

Inherited from JsValue

Inherited from IterableOnce[(String, JsValue)]

Inherited from AbstractJsObj

Inherited from AnyRef

Inherited from Any

Ungrouped