Как создать класс case для этого ввода json и преобразовать его в объект?
Я получаю эту строку JSON из веб-API:
{"results":{"Inne":"23.3","Ute":"5.8"}}
Как мне создать класс case, чтобы соответствовать этому выводу?
Это моя попытка:
case class Results(Inne: String, Ute: String)
object MyJsonProtocol extends DefaultJsonProtocol {
implicit val tempsFormat = jsonFormat2(Results)
}
Я пытаюсь преобразовать с помощью val temps = jsonin.convertTo[Results], и очевидно, что это не работает, так как он ожидает только два значения.
1 ответ
Решение
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)
}
Или вы можете использовать линзы 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)