Reputation: 17
I get this Json string from a web api:
{"results":{"Inne":"23.3","Ute":"5.8"}}
How do I construct a case class to match this output?
This is my attempt:
case class Results(Inne: String, Ute: String)
object MyJsonProtocol extends DefaultJsonProtocol {
implicit val tempsFormat = jsonFormat2(Results)
}
I try to convert with val temps = jsonin.convertTo[Results] and obvious this does not work since it expects only two values.
Upvotes: 0
Views: 279
Reputation: 48577
case class Results(Inne: String, Ute: String )
case class Result(results: Results)
object MyJsonProtocol extends DefaultJsonProtocol {
implicit val tempsFormat = jsonFormat2(Results)
implicit val resultsFormat = jsonFormat1(Results)
}
Or you can use lenses https://github.com/jrudolph/json-lenses
case class Results(Inne: String, Ute: String )
object MyJsonProtocol extends DefaultJsonProtocol {
implicit val tempsFormat = jsonFormat2(Results)
implicit val resultsFormat = jsonFormat1(Results)
}
jsonin.extract[Results]('results)
Upvotes: 1