如何将案例类转换为Map(在Scala.js中)

时间:2014-12-07 14:55:35

标签: scala scala.js

如何将case class转换为Map的{​​{1}}成为关键字的字段?

例如:

case class

以便case class Person(name: String, age: Int) val p = Person("dude", 89) val map = p.toMap // <-- ??? 等于以下地图:

map

1 个答案:

答案 0 :(得分:5)

这通常通过反射或宏来实现,因为它涉及查找在运行时不存在的Scala字段的名称。在Scala.js中,您被限制为宏,因为运行时反射不存在。

有序列化库可以使用宏自动执行此转换。以下是几个候选人,他们在Scala.js中工作: