MonadicJValue

final class MonadicJValue(jv: JValue) extends AnyVal
Companion
object
class AnyVal
trait Matchable
class Any

Value members

Concrete methods

def \(nameToFind: String): JValue

XPath-like expression to query JSON fields by name. Matches only fields on next level.

XPath-like expression to query JSON fields by name. Matches only fields on next level.

Example:

json \ "name"
def \[A <: JValue](clazz: Class[A]): List[Values]

XPath-like expression to query JSON fields by type. Matches only fields on next level.

XPath-like expression to query JSON fields by type. Matches only fields on next level.

Example:

json \ classOf[JInt]
def \\(nameToFind: String): JValue

XPath-like expression to query JSON fields by name. Returns all matching fields.

XPath-like expression to query JSON fields by name. Returns all matching fields.

Example:

json \\ "name"
def \\[A <: JValue](clazz: Class[A]): List[Values]

XPath-like expression to query JSON fields by type. Returns all matching fields.

XPath-like expression to query JSON fields by type. Returns all matching fields.

Example:

json \\ classOf[JInt]

Camelize all the keys in this org.json4s.JValue

Camelize all the keys in this org.json4s.JValue

def filter(p: JValue => Boolean): List[JValue]

Return a List of all values which matches the given predicate.

Return a List of all values which matches the given predicate.

Example:

JArray(JInt(1) :: JInt(2) :: Nil) filter { case JInt(x) => x > 1; case _ => false }
def filterField(p: JField => Boolean): List[JField]

Return a List of all fields which matches the given predicate.

Return a List of all fields which matches the given predicate.

Example:

JObject(("age", JInt(10)) :: Nil) filterField {
 case ("age", JInt(x)) if x > 18 => true
 case _          => false
}
def find(p: JValue => Boolean): Option[JValue]

Return the first element from JSON which matches the given predicate.

Return the first element from JSON which matches the given predicate.

Example:

JArray(JInt(1) :: JInt(2) :: Nil) find { _ == JInt(2) } == Some(JInt(2))
def findField(p: JField => Boolean): Option[JField]

Return the first field from JSON which matches the given predicate.

Return the first field from JSON which matches the given predicate.

Example:

JObject(("age", JInt(2))) findField { case (n, v) => n == "age" }
def fold[A](z: A)(f: (A, JValue) => A): A

Return a combined value by folding over JSON by applying a function f for each element. The initial value is z.

Return a combined value by folding over JSON by applying a function f for each element. The initial value is z.

def foldField[A](z: A)(f: (A, JField) => A): A

Return a combined value by folding over JSON by applying a function f for each field. The initial value is z.

Return a combined value by folding over JSON by applying a function f for each field. The initial value is z.

def map(f: JValue => JValue): JValue

Return a new JValue resulting from applying the given function f to each value in JSON.

Return a new JValue resulting from applying the given function f to each value in JSON.

Example:

JArray(JInt(1) :: JInt(2) :: Nil) map {
 case JInt(x) => JInt(x+1)
 case x => x
}

Return a new JValue resulting from applying the given function f to each field in JSON.

Return a new JValue resulting from applying the given function f to each field in JSON.

Example:

JObject(("age", JInt(10)) :: Nil) mapField {
 case ("age", JInt(x)) => ("age", JInt(x+1))
 case x => x
}

Remove the org.json4s.JNothing and org.json4s.JNull from a org.json4s.JArray or org.json4s.JObject

Remove the org.json4s.JNothing and org.json4s.JNull from a org.json4s.JArray or org.json4s.JObject

Pascalize all the keys in this org.json4s.JValue

Pascalize all the keys in this org.json4s.JValue

def remove(p: JValue => Boolean): JValue

Return a JSON where all values matching the given predicate are removed.

Return a JSON where all values matching the given predicate are removed.

Example:

JArray(JInt(1) :: JInt(2) :: JNull :: Nil) remove { _ == JNull }
def removeField(p: JField => Boolean): JValue

Return a JSON where all fields matching the given predicate are removed.

Return a JSON where all fields matching the given predicate are removed.

Example:

JObject(("age", JInt(10)) :: Nil) removeField {
 case ("age", _) => true
 case _          => false
}
def replace(l: List[String], replacement: JValue): JValue

Return a new JValue resulting from replacing the value at the specified field path with the replacement value provided. This has no effect if the path is empty or if the value is not a JObject or JArray instance. If the path is a JArray you must use the following annotation "foo[]", each element, or foo[index], one element.

Return a new JValue resulting from replacing the value at the specified field path with the replacement value provided. This has no effect if the path is empty or if the value is not a JObject or JArray instance. If the path is a JArray you must use the following annotation "foo[]", each element, or foo[index], one element.

Example:

JObject(List(JField("foo", JObject(List(JField("bar", JInt(1))))))).replace("foo" :: "bar" :: Nil, JString("baz"))
// returns JObject(List(JField("foo", JObject(List(JField("bar", JString("baz")))))))
JObject(List(JField("foo", JArray(List(JObject(List(JField("bar", JInt(1)))), JObject(List(JField("bar", JInt(2))))))))).replace("foo[]" :: "bar" :: Nil, JString("baz"))
// returns JObject(List((foo,JArray(List(JObject(List((bar,JString(baz)))), JObject(List((bar,JString(baz)))))))))
JObject(List(JField("foo", JArray(List(JObject(List(JField("bar", JInt(1)))), JObject(List(JField("bar", JInt(2))))))))).replace("foo[0]" :: "bar" :: Nil, JString("baz"))
// returns JObject(List((foo,JArray(List(JObject(List((bar,JString(baz)))), JObject(List((bar,JInt(2)))))))))

Underscore all the keys in this org.json4s.JValue

Underscore all the keys in this org.json4s.JValue

def transform(f: PartialFunction[JValue, JValue]): JValue

Return a new JValue resulting from applying the given partial function f to each value in JSON.

Return a new JValue resulting from applying the given partial function f to each value in JSON.

Example:

JArray(JInt(1) :: JInt(2) :: Nil) transform { case JInt(x) => JInt(x+1) }
def transformField(f: PartialFunction[JField, JField]): JValue

Return a new JValue resulting from applying the given partial function f to each field in JSON.

Return a new JValue resulting from applying the given partial function f to each field in JSON.

Example:

JObject(("age", JInt(10)) :: Nil) transformField {
 case ("age", JInt(x)) => ("age", JInt(x+1))
}

Underscore the camel cased only keys in this org.json4s.JValue

Underscore the camel cased only keys in this org.json4s.JValue

Underscore all the keys in this org.json4s.JValue

Underscore all the keys in this org.json4s.JValue

def withFilter(p: JValue => Boolean): JValueWithFilter