FasterXML / FasterXML/jackson-module-scala

Cannot serialize option of anyval in a collection

Abierto
#277 4 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Scala
Estrellas
506
Forks
138
Merge medio
3 h 6 min
PR fusionados (30 d)
48

Descripción

I have a sample test here:

```
"Anyvals" should "serialize json" in {
val groups = (0 until 10).map(_ =>
AnyHolder(
Some(TestAny("data"))
))

val objectMapper = new ObjectMapper().registerModule(DefaultScalaModule)
println(objectMapper.writeValueAsString(data))
}
}

case class AnyHolder(
testAny: Option[TestAny]
)

case class TestAny(data: String) extends AnyVal
```

This fails with

```
tests.TestAny cannot be cast to java.lang.String (through reference chain: scala.collection.convert.IterableWrapper[0]->tests.AnyHolder["testAny"])
com.fasterxml.jackson.databind.JsonMappingException: tests.TestAny cannot be cast to java.lang.String (through reference chain: scala.collection.convert.IterableWrapper[0]->tests.AnyHolder["testAny"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:378)
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:338)
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:342)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:686)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157)
at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149)
at com.fasterxml.jackson.module.scala.ser.IterableSerializer$class.serializeContents(IterableSerializerModule.scala:28)
at com.fasterxml.jackson.module.scala.ser.UnresolvedIterableSerializer.serializeContents(IterableSerializerModule.scala:56)
```

Using jackson-core 2.7.4, jackson-databind 2.7.4, jackson-scala-module 2.7.4

Are there any workarounds to get this to work?

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.