scala
libraryDependencies += "io.spray" %% "spray-json" % "1.3.6"
scala
case class User(id: Int, name: String, email: String)
scala
import spray.json._
import DefaultJsonProtocol._
object UserJsonProtocol extends DefaultJsonProtocol {
implicit val userFormat = jsonFormat3(User)
}
scala
import UserJsonProtocol._
val user = User(1, "John Doe", "john@example.com")
val jsonStr = user.toJson.toString
println(jsonStr)
val parsedUser = jsonStr.parseJson.convertTo[User]
println(parsedUser)