object Extraction
Function to extract values from JSON AST using case classes.
See: ExtractionExamples.scala
- Source
- Extraction.scala
- Alphabetic
- By Inheritance
- Extraction
- 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 asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def decompose(a: Any)(implicit formats: Formats): JValue
Decompose a case class into JSON.
Decompose a case class into JSON.
Example:
case class Person(name: String, age: Int) implicit val formats: Formats = org.json4s.DefaultFormats Extraction.decompose(Person("joe", 25)) == JObject(JField("age",JInt(25)) :: JField("name",JString("joe")) :: Nil)
- def decomposeWithBuilder[T](a: Any, builder: JsonWriter[T])(implicit formats: Formats): T
Decompose a case class into JSON.
Decompose a case class into JSON.
Example:
case class Person(name: String, age: Int) implicit val formats: Formats = org.json4s.DefaultFormats Extraction.decompose(Person("joe", 25)) == JObject(JField("age",JInt(25)) :: JField("name",JString("joe")) :: Nil)
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def extract(json: JValue, scalaType: ScalaType)(implicit formats: Formats): Any
- def extract(json: JValue, target: reflect.TypeInfo)(implicit formats: Formats): Any
- def extract[A](json: JValue)(implicit formats: Formats, mf: Manifest[A]): A
Extract a case class from JSON.
Extract a case class from JSON.
- Exceptions thrown
MappingException
is thrown if extraction fails- See also
org.json4s.JsonAST.JValue#extract
- def extractOpt[A](json: JValue)(implicit formats: Formats, mf: Manifest[A]): Option[A]
Extract a case class from JSON.
Extract a case class from JSON.
- See also
org.json4s.JsonAST.JValue#extract
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def flatten(json: JValue)(implicit formats: Formats = DefaultFormats): Map[String, String]
Flattens the JSON to a key/value map.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def internalDecomposeWithBuilder[T](a: Any, builder: JsonWriter[T])(implicit formats: Formats): Unit
Decompose a case class into JSON.
Decompose a case class into JSON.
This is broken out to avoid calling builder.result when we return from recursion
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def loadLazyValValue(a: Any, name: String, defaultValue: Any): AnyRef
Load lazy val value
Load lazy val value
This is a fix for failed lazy val serialization from FieldSerializer (see org.json4s.native.LazyValBugs test).
We do this by finding the hidden lazy method which will have same name as the lazy val name but with suffix "$lzycompute" (for scala v2.10+), then invoke the method if found, and return the value.
The "$lzycompute" method naming could be changed in future so this method must be adjusted if that happens.
- a
Object to be serialized
- name
Field name to be checked
- defaultValue
Default value if lazy method is not found
- returns
Value of invoked lazy method if found, else return the default value
- 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 synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def unflatten(map: Map[String, String], useBigDecimalForDouble: Boolean = false, useBigIntForLong: Boolean = true): JValue
Unflattens a key/value map to a JSON object.
- 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()