2012-11-05 92 views
2

我试图做这样的事情与Jerkson:斯卡拉/ Jerkson:如何反序列化到泛型类型

parse[Collection[OrderResource]](orderCollectionJson) 

它不断告诉我抛出java.lang.ClassNotFoundException:A,所以我想这是类型擦除从集合中删除我的“OrderResource”。

如果我继承到类似

case class OrderCollection(...) extends Collection[OrderResource] 

我可以这样做:

parse[OrderCollection](orderCollectionJson) 

但是这讨厌的,因为我不得不创建为每个类型的集合新亚型。另一方面,做

parse[List[Foo]](aListOfFooAsJson) 

似乎工作。那么,为什么Jerkson可以反序列化到泛型列表中,但是并不是我自己的泛型类型?

是否有任何隐式/清单魔法可用于反序列化我的泛型集合?

+0

“Collection”是Java接口还是您自己的类? –

+0

这是我自己的类型。以超媒体方式表示订单集合,具体说明。我从事这项工作已有一段时间了,但据我记忆,这只是一个简单的案例类包装订单清单。 – joerx

+0

杰克逊现在有一个本地Scala模块,应该做你想做的:https://github.com/FasterXML/jackson-module-scala –

回答