2012-11-05 122 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 –

回答