2

Jackson の Scala ラッパーである Jerkson を使用して、次の JSON 文字列を解析するための次のコードがあります。

コード:val vertex = Json.parse[Ranked[UserVertex]](rawString)

Json :"originalPos":"515693049","rankScore":1.2409032357406248E8,"ranked":{"userId":"101010110","userName":"John","channel":"thirtyfive"}}

次の JSON は、この Scala クラスによって表されます。

case class Ranked[T] (
  val originalPos: String,

  val rankScore: Double,

  val ranked: T
)

T は、UserVertex上記のフィールド (userId、userName、channel) を持つクラスです。JSON 文字列を解析しようとすると、次のエラーが発生します。

[error] application - Could not parse the string:
{"originalPos":"655330261","rankScore":1.2423105672295567E8,"ranked":{"userId":"655330261","userName":"Sheile Mercado-Mallari","channel":"facebook"}}
java.lang.ClassNotFoundException: T
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at com.codahale.jerkson.util.CaseClassSigParser$.loadClass(CaseClassSigParser.scala:153)

ClassLoader がクラスを見つけられないように見えますが、確実にロードされています。これの根本的な原因は何ですか?ここで、ある種の複数のクラスローダーの問題がありますか? ありがとう!

4

1 に答える 1