libraryDependencies += "io.circe" %% "circe-generic" % "0.14.1"
import io.circe._
import io.circe.generic.auto._
import io.circe.syntax._
case class Person(name: String, age: Int)
val person = Person("Alice", 30)
val json = person.asJson.spaces2
println(json)
json
{
"name" : "Alice",
"age" : 30
}
val jsonString = """
{
"name" : "Bob",
"age" : 35
}
"""
val decodedPerson = decode[Person](jsonString)
decodedPerson.fold(println, println)
Right(Person(Bob,35))