<foo key="bar">42.42</foo>
{"key":"bar","value":42.42}
@XmlRootElement(name = "foo")public class Foo {@XmlAttribute(name = "key")String key;@XmlValuedouble value;public Foo() {}public Foo(String key, double value) {this.key = key;this.value = value;}
// hashCode and equals, getters and setters removed from sample}
XmlMapper om = new XmlMapper();om.registerModule(new JaxbAnnotationModule());om.registerModule(new JacksonXmlModule());Foo foo = new Foo("bar", 42.42);String xml = om.writeValueAsString(foo);assertThat(xml).isXmlEqualTo("<foo key=\"bar\">42.42</foo>");Foo parsed = om.readValue(xml, Foo.class);assertThat(parsed).isEqualTo(foo);
ObjectMapper om = new ObjectMapper();om.registerModule(new JaxbAnnotationModule());om.registerModule(new JacksonXmlModule());Foo foo = new Foo("bar", 42.42);String json = om.writeValueAsString(foo);assertThat(json).isEqualTo("{\"key\":\"bar\",\"value\":42.42}");
// The next line throws and exception
Foo parsed = om.readValue(json, Foo.class);
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "value" (class com.test.Foo), not marked as ignorable (2 known properties: "", "key"])at [Source: {"key":"bar","value":42.42}; line: 1, column: 27] (through reference chain: com.test.Foo["value"])at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:51)at com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty(DeserializationContext.java:731)at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:915)at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1292)at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1270)at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:247)at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:118)at com.fasterxml.jackson.dataformat.xml.deser.XmlTextDeserializer.deserialize(XmlTextDeserializer.java:96)at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3051)at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2146)
--
You received this message because you are subscribed to the Google Groups "jackson-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jackson-user...@googlegroups.com.
To post to this group, send email to jackso...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.