trait JsonTransform extends JsonLoggingStrategy
Context that performs Json serialize / deserialize by refuel json.
- Alphabetic
- By Inheritance
- JsonTransform
- JsonLoggingStrategy
- LazyLogging
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- implicit class JDescribe extends AnyRef
Deserialize JsonRawData.
Deserialize JsonRawData. If you want to build a Json syntax tree, call jsonTree Otherwise, return deserialize result with failure in as(CodecClassCodec.from[XXX]).
There are currently three main ways to generate Codec.
1. CaseClassCodec
CaseClassCodec.from[XXX]
Applying class and unapply function are required to use CaseClassCodec. Also, the JsonRawData key and the case class field name must exactly match. Order has no effect.
2. ConstCodec
ConstCodec.from("key1", "key2")(XXX.apply)(XXX.unapply)
The variable length character string that becomes the first argument corresponds to the key of Json raw data. Cannot refer to class field name due to dynamic apply function.
NOTE: In addition, due to the nature of macro, it is not possible to transfer the argument of the upper function as the argument of the macro function.
3. Custom codec builder
"root".parsed( { "1/4".parsed(CodecA) ++ "2/4".parsed(CodecA) ++ "3/4".parsed(option(CodecAA)) ++ "4/4".parsed(option(CodecAA)) }.apply(B.apply)(B.unapply) ).apply(C.apply)(C.unapply)
You can use DSL to combine Codec and generate new Codecs.
- Attributes
- protected
- implicit class JScribe[T] extends AnyRef
Serialize any object to Json syntax tree.
Serialize any object to Json syntax tree. In this state, it is not JsonRawData, but it becomes JsonRawData by JsonVal.pour. A function that takes an implicit codec, but in many cases it will require explicit assignment.
???.toJson(CaseClassCodec.from[XXX])
- T
Any object type
- Attributes
- 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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def jsonReadLogging(v: String): Unit
- Definition Classes
- JsonLoggingStrategy
- def jsonWriteLogging(v: => JsonVal): JsonVal
- Definition Classes
- JsonLoggingStrategy
- lazy val logger: Logger
- Attributes
- protected
- Definition Classes
- LazyLogging
- Annotations
- @transient()
- 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
- 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()