Преобразование Map [String, Any] в класс case с использованием Shapeless
ВопросВот спрашивает о сопоставлении класса дела с картой [String, Any]. Мне было интересно, что будет наоборот, преобразование Map [String, Any] в case-класс. Учитывая следующую карту:
val mp = Map("name" -> "Tom", "address" -> Map("street" -> "Jefferson st", "zip" -> 10000))
Преобразовать его в класс делаPerson
:
case class Person(name:String, address:Address)
case class Address(street:String, zip:Int)
val p = Person("Tom", Address("Jefferson st", 10000))
с чем-то вроде этого:
val newP = mp.asCC[Person]
assert(newP.get == p)
Как мне это сделать с Shapeless.