diff --git a/src/test/java/com/fasterxml/jackson/module/scala/AnnotatedColor.java b/src/test/java/com/fasterxml/jackson/module/scala/AnnotatedColor.java new file mode 100644 index 000000000..793a1d6b3 --- /dev/null +++ b/src/test/java/com/fasterxml/jackson/module/scala/AnnotatedColor.java @@ -0,0 +1,7 @@ +package com.fasterxml.jackson.module.scala; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum AnnotatedColor { + @JsonProperty("red") RED +} diff --git a/src/test/scala-3/com/fasterxml/jackson/module/scala/enum/ColorEnum.scala b/src/test/scala-3/com/fasterxml/jackson/module/scala/enum/ColorEnum.scala index 09b0fb001..0827efe17 100644 --- a/src/test/scala-3/com/fasterxml/jackson/module/scala/enum/ColorEnum.scala +++ b/src/test/scala-3/com/fasterxml/jackson/module/scala/enum/ColorEnum.scala @@ -1,5 +1,7 @@ package com.fasterxml.jackson.module.scala.`enum` +import com.fasterxml.jackson.annotation.JsonProperty + enum ColorEnum { case Red, Green, Blue } case class Colors(set: Set[ColorEnum]) diff --git a/src/test/scala/com/fasterxml/jackson/module/scala/ser/MapSerializerTest.scala b/src/test/scala/com/fasterxml/jackson/module/scala/ser/MapSerializerTest.scala index 00d1a7e7b..bef3837d3 100644 --- a/src/test/scala/com/fasterxml/jackson/module/scala/ser/MapSerializerTest.scala +++ b/src/test/scala/com/fasterxml/jackson/module/scala/ser/MapSerializerTest.scala @@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.{JsonInclude, JsonProperty, JsonSubTypes import com.fasterxml.jackson.core.JsonGenerator import com.fasterxml.jackson.databind.annotation.JsonSerialize import com.fasterxml.jackson.databind.{JsonSerializer, SerializationFeature, SerializerProvider} -import com.fasterxml.jackson.module.scala.{DefaultScalaModule, JacksonModule} +import com.fasterxml.jackson.module.scala.{AnnotatedColor, DefaultScalaModule, JacksonModule} import scala.annotation.meta.getter import scala.beans.BeanProperty @@ -22,7 +22,6 @@ class TupleKeySerializer extends JsonSerializer[Product] { } } - object MapSerializerTest { class BeanieWeenie(@BeanProperty @JsonProperty("a") var a: Int, @@ -117,4 +116,9 @@ class MapSerializerTest extends SerializerTest { val v = m.writeValueAsString(wrapper) v shouldBe """{"map":{}}""" } + + it should "support JsonProperty annotation on Java enum key" in { + val map = Map(AnnotatedColor.RED -> "redValue") + newMapper.writeValueAsString(map) shouldEqual """{"red":"redValue"}""" + } }