/ / json4sの問題でJSONをデシリアライズするScala-scala、json4s

json4sの問題でJSONを逆シリアル化するスカラー - scala、json4s

JSON4を使用する次の簡単なコードでJSONをデシリアライズするとき

package main.scala

import org.json4s._
import org.json4s.jackson.JsonMethods._

object Main {

case class Person(name: String, age: Int)

def main(args: Array[String]): Unit = {
val jsValue = parse("""{"name":"john", "age": 28}""")
implicit val formats = DefaultFormats
val p = jsValue.extract[Person]
}
}

次のエラーが発生しています。

スレッド「メイン」org.json4sの例外。package $ MappingException: scala.Predef $ .refArrayOps([Ljava / lang / Object;)Lscala / collection / mutable / ArrayOps; 関数本体で定義されたケースクラスはサポートされていません。

誰がそれが起こるのか知っていますか?

回答:

回答№1は1

コメントで出てきたように、この制限は新しいバージョンで上回っています。ただし、移動してこの作業を行うこともできます。 case class あなたの外の定義 main

package main.scala

import org.json4s._
import org.json4s.jackson.JsonMethods._

// here!
case class Person(name: String, age: Int)

object Main {

def main(args: Array[String]): Unit = {
val jsValue = parse("""{"name":"john", "age": 28}""")
implicit val formats = DefaultFormats
val p = jsValue.extract[Person]
}

}