xyz.cofe.json4s3.derv
package xyz.cofe.json4s3.derv
Type members
Classlikes
Значение по умолчанию, используется при восстановлении из Json
Значение по умолчанию, используется при восстановлении из Json
Пример
case class Append(value:String)
object Append:
given DefaultValue[Append] with
override def defaultValue: Option[Append] = Some(Append("def_value"))
Еще пример
case class DefVal( a:String )
object DefVal:
given defval:DefaultValue[DefVal] = new DefaultValue[DefVal] {
override def defaultValue: Option[DefVal] = Some(DefVal("sample"))
}
case class ItemWithDef( a:Int, b:DefVal )
test("default") {
assert("""{ "a": 1 }"""
.jsonAs[ItemWithDef] == Right(ItemWithDef(1,DefVal("sample"))))
}
- Companion:
- object
Получение объекта определенного типа из Json
Получение объекта определенного типа из Json
- Companion:
- object
object FromJsonBuilder
Создание FromJson
Создание FromJson
Пример
sealed trait BaseSample
case class ChildOne( a:Int ) extends BaseSample
case class ChildTwo( a:String ) extends BaseSample
import xyz.cofe.json4s3.derv.FromJsonBuilder._
implicit val baseSampleFromJson : FromJson[BaseSample] =
FromJson.builder
.select[ChildOne]( q => q("type").string === "1" )
.select[ChildTwo]( q => q("type").string === "2" )
.build
Value members
Concrete methods
Extensions
Extensions
extension [A](item: A)