I am using Jackson 1.8.3 in a Spring application to map Java Objects to JSON.
One of my Java Class (Child) extends an super class (Parent) that is part of an Libary, so I am not able to modify it. (Especially I am not able to add annotations.)
I am using @JsonAutoDetect(JsonMethod.NONE) because I need only a small set of fields from the object, instead I am using @JsonProperty.
class Parent {
public long getId(){...};
...
}
@JsonAutoDetect(JsonMethod.NONE)
class Child extends Parent {
@JsonProperty
private String title;
}
But one of the fields I need is an field id from the superclass, but I don’t know how to tell Jackson to pay attention to this field, without modifying the parent class (because I can not modify it).
You can add annotations using mix-ins. See http://wiki.fasterxml.com/JacksonMixInAnnotations for details.
Depending on what the rest of the class feild/method structures are, another approach that might work would be to configure visibility access of fields/methods through ObjectMapper. The following line demonstrates how to make such a configuration, not necessarily the specific configuration you need.
I should have realized that was possible. I have to update my blog post. Thank you.