【发布时间】:2014-11-05 17:07:34
【问题描述】:
我想使用 Gson 序列化器将通用 scala 类的实例序列化为 Json。虽然序列化普通对象可以正常工作,但序列化通用对象却不行。下面第一个测试成功,第二个失败:
序列化下面的变量 myGeneric 只是给出字符串 '{"value":{}}' 而不是测试中的预期值。有关如何正确执行此操作的任何想法?
class MyGeneric[T](t : T) {
val value : T = t;
}
class Bla(v1: String) {
val value1 = v1
}
class GsonGenericTest extends FlatSpec with Matchers {
behavior of "Gson"
it should "be able to serialize plain objects" in {
val myObject = new Bla("value1")
new Gson().toJson(myObject) should be ("{\"value1\":\"value1\"}")
}
it should "be able to serialize generic objects" in {
val myGeneric = new MyGeneric[Bla](new Bla("value1"))
new Gson().toJson(myGeneric) should be ("{\"value\":{\"value1\":\"value1\"}}")
}
}
【问题讨论】: