リストを含むjsonオブジェクトを解析しようとしています。フィールドがJava Listによってサポートされている場合はリストを解析できますが、フィールドがScalaリストでサポートされている場合は失敗します。 Scala ListとJava Listの解析の違いは何ですか?これを解析してScala Listにするにはどうすればよいですか?jsonをJavaリストに解析するが、スカラリストではないのはなぜですか?
object JsonParsingExample extends App {
val objectMapper = new ObjectMapper()
// This line succeeds.
objectMapper.readValue("""{"list": ["a","b"]}""", classOf[JavaList])
// This line fails.
objectMapper.readValue("""{"list": ["a","b"]}""", classOf[ScalaList])
}
case class JavaList() {
@JsonProperty(value = "list")
var myList: java.util.ArrayList[String] = null
}
case class ScalaList() {
@JsonProperty(value = "list")
var myList: List[String] = null
}
私はエラーメッセージは次のとおりです。いずれかの抽象型を行う必要があります。
com.fasterxml.jackson.databind.JsonMappingException:scala.collection.immutable.List、問題のインスタンスを作成することはできませんコンクリートの型にマッピングされたカスタムデシリアライザを持っている、またはデフォルトでScalaの種類については何も知らない追加の型情報
これを最初に追加してください: 'objectMapper.registerModule(DefaultScalaModule)' – Dima