我有一个返回对象的REST接口。该对象中的字段之一是来自第三方jar的对象。第三方jar对象包含Jackson 1+中标记为@JsonProperty
的字段。我们正在使用Jackson 2+,并且这些注释没有被使用。
我尝试创建MixIn,但是我仍然没有获得正确的属性名称。
import org.codehaus.jackson.annotate.JsonProperty;
public class ThirdPartyObject {
@JsonProperty("lastName")
public String ln;
...
}
import com.fasterxml.jackson.annotation.JsonProperty;
public interface NewObject {
@JsonProperty("lastName")
abstract String getLastName();
}
在我的测试中,objectMapper
初始化为:
objectMapper.setMixIns(ImmutableMap.<Class<?>, Class<?>>of(ThirdPartyObject.class, NewObject.class));
它正在返回{"ln": "Smith"}
当我期望{"lastName": "Smith"}