JsObject

play.api.libs.json.JsObject
See theJsObject companion object
case class JsObject(underlying: Map[String, JsValue]) extends JsValue

Represent a Json object value.

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait JsValue
trait JsReadable
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def +(otherField: (String, JsValue)): JsObject

Adds one field to the JsObject

Adds one field to the JsObject

Attributes

def ++(other: JsObject): JsObject

Merge this object with another one. Values from other override value of the current object.

Merge this object with another one. Values from other override value of the current object.

Attributes

def -(otherField: String): JsObject

Removes one field from the JsObject

Removes one field from the JsObject

Attributes

def canEqual(other: Any): Boolean
def deepMerge(other: JsObject): JsObject

merges everything in depth and doesn't stop at first level, as ++ does

merges everything in depth and doesn't stop at first level, as ++ does

Attributes

override def equals(other: Any): Boolean

Compares the receiver object (this) with the argument object (that) for equivalence.

Compares the receiver object (this) with the argument object (that) for equivalence.

Any implementation of this method should be an equivalence relation:

  • It is reflexive: for any instance x of type Any, x.equals(x) should return true.
  • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any instances x, y, and z of type Any if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)).

Value parameters

that

the object to compare against this object for equality.

Attributes

Returns

true if the receiver object is equivalent to the argument; false otherwise.

Definition Classes
Equals -> Any
def fieldSet: Set[(String, JsValue)]

Return all fields as a set

Return all fields as a set

Attributes

def fields: Seq[(String, JsValue)]

The fields of this JsObject in the order passed to the constructor

The fields of this JsObject in the order passed to the constructor

Attributes

override def hashCode(): Int

Calculate a hash code value for the object.

Calculate a hash code value for the object.

The default hashing algorithm is platform dependent.

Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

Attributes

Returns

the hash code value for this object.

Definition Classes
Any
def keys: Set[String]

Return all keys

Return all keys

Attributes

def value: Map[String, JsValue]

The value of this JsObject as an immutable map.

The value of this JsObject as an immutable map.

Attributes

def values: Iterable[JsValue]

Return all values

Return all values

Attributes

Inherited methods

def as[T](implicit fjs: Reads[T]): T

Tries to convert the node into a T, throwing an exception if it can't. An implicit Reads[T] must be defined.

Tries to convert the node into a T, throwing an exception if it can't. An implicit Reads[T] must be defined.

Attributes

Inherited from:
JsReadable
def asOpt[T](implicit fjs: Reads[T]): Option[T]

Tries to convert the node into a T. An implicit Reads[T] must be defined. Any error is mapped to None

Tries to convert the node into a T. An implicit Reads[T] must be defined. Any error is mapped to None

Attributes

Returns

Some[T] if it succeeds, None if it fails.

Inherited from:
JsReadable
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
JsValue -> Any
Inherited from:
JsValue
def transform[A <: JsValue](rds: Reads[A]): JsResult[A]

Transforms this node into a JsResult using provided Json transformer Reads[JsValue]

Transforms this node into a JsResult using provided Json transformer Reads[JsValue]

Attributes

Inherited from:
JsReadable
def validate[A](implicit rds: Reads[A]): JsResult[A]

Tries to convert the node into a JsResult[T] (Success or Error). An implicit Reads[T] must be defined.

Tries to convert the node into a JsResult[T] (Success or Error). An implicit Reads[T] must be defined.

Attributes

Inherited from:
JsValue
def validateOpt[A](implicit rds: Reads[A]): JsResult[Option[A]]

Attributes

Inherited from:
JsValue