-
play-json 에서 scala3 enum 사용하기scala/scala3 2024. 3. 29. 17:31
import play.api.libs.json.{Format, JsValue, Json} enum Age { case Old, Young } case class Person(name: String, age: Option[Age]) object Person { given Format[Age] = summon[Format[String]].bimap[Age](s => Age.valueOf(s), age => age.toString) given Format[Person] = Json.format[Person] } @main def Main(): Unit = { import Age.* val person = Person("KIM", Some(Young)) val js: JsValue = Json.toJson(person) val s: String = js.toString val js2: JsValue = Json.parse(s) val p: Person = js2.as[Person] println(p) }
'scala > scala3' 카테고리의 다른 글
Function Context (0) 2024.04.12 Either using cats and ox (0) 2024.04.04 Exports (0) 2024.03.22 opaque type (0) 2024.03.22 Function value signature for generics, context functions (0) 2024.03.22