1
在Eclipse Scala IDE中使用工作表(包含代碼和輸出)。使用Jerkson反序列化案例類(嵌套)
這個簡單的代碼給出了一個ClassNotFoundException
。出於某種原因,它似乎無法找到Address類。
相似:Deserializing JSON into user-defined case classes with Jerkson(但他們的問題是與播放框架和解析錯誤做)
import com.codahale.jerkson.Json._
object person {
case class Address(city: String, state: String)
case class Person(name: String, age: Int, addresses: Seq[Address])
parse[Person]("""{"name":"James", "age":25, "addresses": [{"city":"New York", "state": "NY"}, {"city":"Brooklyn", "state": "NY"}]}""")
//> java.lang.ClassNotFoundException: <empty>.person.Address
//| at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
//| at java.security.AccessController.doPrivileged(Native Method)
//| at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
//| at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
//| at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
//| at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
//| at com.codahale.jerkson.util.CaseClassSigParser$.loadClass(CaseClassSigP
//| arser.scala:186)
//| at com.codahale.jerkson.util.CaseClassSigParser$.typeRef2JavaType(CaseCl
//| assSigParser.scala:143)
//| at com.codahale.jerkson.util.CaseClassSigParser$$anonfun$typeRef2JavaTyp
//| e$1.apply(CaseClassSigParser.scala:146)
//| at com.codahale.jerkson.util.CaseClassSigParser$$anonfun$typeRef2JavaTyp
//| e$1.apply(CaseClassSigParser.scala:146)
//| at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike
//| .scala:233)
//|
//| Output exceeds cutoff limit.
}
實際上現在有同樣的問題,不希望切換到lift-json。 – Wrench